當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。