当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


MySQL RIGHT JOIN用法及代码示例


MySQL 的 RIGHT JOIN 子句返回右表中的所有行以及左表中的匹配记录。 NULL将用于左表中没有匹配记录的记录。 RIGHT JOIN 也称为 RIGHT OUTER JOIN

用法

SELECT column_name(s)
FROM left_table
RIGHT JOIN right_table
ON left_table.column = right_table.column;

例子

请考虑下表,了解一些客户购买的产品:

ID

产品

bought_by

1

computer

1

2

吹风机

3

可以使用此处的代码创建上述示例表。

另请考虑包含客户信息的下表:

ID

名字

年龄

1

alex

15

2

bob

25

3

cathy

30

可以使用此处的代码创建上述示例表。

基本用法

要执行 RIGHT JOIN,其中 product 作为左表,customer 作为右(主)表:

SELECT c.id, c.name, c.age, p.name AS product_name 
FROM product p
RIGHT JOIN customer c
ON c.id = p.bought_by;



+----+-----------+------+--------------+
| id | name      | age  | product_name |
+----+-----------+------+--------------+
|  1 | alex      |   15 | computer     |
|  3 | cathy     |   30 | hair dryer   |
|  2 | bob       |   25 | NULL         |
+----+-----------+------+--------------+

我们返回右表 customer 中的所有三个客户记录以及他们从 product(左表)购买的相应产品。由于 bob 尚未购买任何产品,因此返回 NULL 作为其对应的 product_name 值。

注意

我们还可以使用两个以上的表执行RIGHT JOIN。但是,始终会有一个主表(其所有行都将出现在结果中),而其他表将是次要的(仅当存在匹配的 else NULL 时才会出现行)。

相关用法


注:本文由纯净天空筛选整理自Arthur Yanagisawa大神的英文原创作品 MySQL | RIGHT JOIN。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。