1.多表连接类型
- JOIN: 如果表中有至少一个匹配,则返回行
- INNER JOIN(内连接):如果表中有至少一个匹配,则返回行
- LEFT JOIN(左连接): 即使右表中没有匹配,也从左表返回所有的行
- RIGHT JOIN(右连接): 即使左表中没有匹配,也从右表返回所有的行
- FULL JOIN(全连接): 只要其中一个表中存在匹配,就返回行
2.示例
请看 "Persons" 表:
请看 "Orders" 表:
如果我们使用from: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 JOIN Orders
ON Persons.Id_P = Orders.Id_P ORDER BY Persons.LastName
结果集:
INNER JOIN 与 JOIN 是相同的。
如果我们使用left join:SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons LEFT JOIN Orders ON Persons.Id_P=Orders.Id_P ORDER BY Persons.LastName
结果集:
如果我们使用right join:SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons RIGHT JOIN Orders ON Persons.Id_P=Orders.Id_P ORDER BY Persons.LastName
结果集:
如果我们使用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
结果集: