mysql中l(wèi)eft join的用法是什么

小億
115
2023-11-27 15:37:40
欄目: 云計(jì)算

在MySQL中,LEFT JOIN用于將兩個(gè)表進(jìn)行連接,并返回左表中的所有行,以及與右表匹配的行。LEFT JOIN基于兩個(gè)表之間的某個(gè)條件進(jìn)行連接,通常是兩個(gè)表之間的外鍵關(guān)系。

語法如下:

SELECT 列名 FROM 表A
LEFT JOIN 表B ON 表A.列名 = 表B.列名;

其中,表A是左表,表B是右表,列名是連接兩個(gè)表的條件。

LEFT JOIN的工作方式是,它從左表中選擇所有的行,并對(duì)于每一行,在右表中查找與之匹配的行。如果右表中沒有匹配的行,則返回NULL值。

下面是一個(gè)示例,假設(shè)有兩個(gè)表:訂單表(order)和客戶表(customer),它們之間有一個(gè)外鍵關(guān)系:

訂單表(order):

order_id | customer_id | order_date
-----------------------------------
1        | 1           | 2022-01-01
2        | 2           | 2022-02-01
3        | 1           | 2022-03-01

客戶表(customer):

customer_id | customer_name
---------------------------
1           | Alice
2           | Bob
3           | Charlie

我們可以使用LEFT JOIN查詢所有訂單,并將訂單表中的customer_id與客戶表中的customer_id進(jìn)行匹配,返回訂單信息以及客戶信息(如果有匹配的話):

SELECT order_id, order_date, customer_name
FROM order
LEFT JOIN customer ON order.customer_id = customer.customer_id;

查詢結(jié)果:

order_id | order_date  | customer_name
-------------------------------------
1        | 2022-01-01  | Alice
2        | 2022-02-01  | Bob
3        | 2022-03-01  | Alice

注意:在LEFT JOIN中,如果右表中的某一行與左表中的多行匹配,則會(huì)返回多行結(jié)果。

0