MySQL在進行關系型數據庫查詢時,經常需要聯合多張表,使用三表查詢的情況也非常普遍。下面我們來介紹一下MySQL三表查詢的語法。
三表查詢語法如下:
SELECT [列名1,列名2,...] FROM 表1 INNER JOIN 表2 ON 表1.列名 = 表2.列名 INNER JOIN 表3 ON 表2.列名 = 表3.列名 WHERE [條件];
說明:
1. SELECT:需要查詢出的列名,可以是多列,多列之間用“,”隔開。
2. FROM:需要查詢的第一張表。
3. INNER JOIN:將第一張表與第二張表進行連接,查詢結果中只包含兩張表中符合條件的記錄。在連接第二張表時,需要指定連接條件,即使用“ON 表1.列名 = 表2.列名”。此處可以根據實際需求更改連接方式,如使用LEFT JOIN或RIGHT JOIN。
4. INNER JOIN:將上一步連接后的結果再與第三張表進行連接,查詢結果中只包含三張表中符合條件的記錄。連接方式和連接條件同上。
5. WHERE:篩選符合條件的記錄,可以不填寫。
示例:
SELECT orders.order_id, customers.customer_name, orders.order_date FROM orders INNER JOIN customers ON orders.customer_id = customers.customer_id INNER JOIN order_details ON orders.order_id = order_details.order_id WHERE orders.order_date >= '2020-01-01';
以上語句查詢出自2020年起的所有訂單信息,包括訂單號、客戶名和訂單日期。