一般來說,我們為了得到更完整的結果,我們需要從兩個或更多的表中獲取結果,我一般都是用select xxx,xxx from 表1,表2 where 表1.xxx=表2.xxx,我們一般都是進行的是這般的操作,其實mysql中還有一種操作,那就是join的操作,例如底下有兩個表:
請看 "Persons" 表:

接下來請看 "Orders" 表:

以上的這兩個表,然后我們把它們進行連接查詢
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons, Orders
WHERE Persons.Id_P = Orders.Id_P
結果集:

如果使用關鍵詞JOIN來從兩個表中獲取數據
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
INNER JOIN Orders
ON Persons.Id_P = Orders.Id_P
ORDER BY Persons.LastName
結果集:

則inner join 與上面的普通查詢沒有區別
不同的 SQL JOIN
- JOIN: 如果表中有至少一個匹配,則返回行
- LEFT JOIN: 即使右表中沒有匹配,也從左表返回所有的行
- RIGHT JOIN: 即使左表中沒有匹配,也從右表返回所有的行
- FULL JOIN: 只要其中一個表中存在匹配,就返回行
LEFT JOIN 關鍵字語法
"Persons" 表:

"Orders" 表:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
LEFT JOIN Orders
ON Persons.Id_P=Orders.Id_P
ORDER BY Persons.LastName
結果集:

SQL RIGHT JOIN 關鍵字
"Persons" 表:

"Orders" 表:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
RIGHT JOIN Orders
ON Persons.Id_P=Orders.Id_P
ORDER BY Persons.LastName
結果集:

SQL FULL JOIN 關鍵字
"Persons" 表:

"Orders" 表:

全連接(FULL JOIN)實例
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
FULL JOIN Orders
ON Persons.Id_P=Orders.Id_P
ORDER BY Persons.LastName
結果集:

總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
您可能感興趣的文章:- 詳解Mysql多表聯合查詢效率分析及優化
- mysql連接查詢、聯合查詢、子查詢原理與用法實例詳解
- MySQL全文索引、聯合索引、like查詢、json查詢速度哪個快
- mysql多表聯合查詢操作實例分析
- 淺談mysql的子查詢聯合與in的效率
- 對MySQL幾種聯合查詢的通俗解釋
- Mysql聯合查詢UNION和UNION ALL的使用介紹
- Mysql聯合查詢UNION和Order by同時使用報錯問題的解決辦法
- mysql多表聯合查詢返回一張表的內容實現代碼
- 詳解MySQL 聯合查詢優化機制