English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
INNER JOIN命令返回两个表中具有匹配值的行。
以下SQL选择带有客户信息的所有订单:
SELECT Orders.OrderID, Customers.CustomerName FROM Orders INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
Hinweis:只要各列之间有匹配项,INNER JOIN关键字就会从两个表中选择所有行。如果“订单(Orders)”表中有与“客户(Customers)”中不匹配的记录,则这些订单将不会显示!
以下SQL语句选择所有包含客户和托运人信息的订单:
SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName FROM ((Orders INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID); INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID);
LEFT JOIN命令从左表返回所有行,并从右表返回匹配的行。如果不匹配,则结果从右侧为NULL。
以下SQL将选择所有客户以及他们可能拥有的任何订单:
SELECT Kunden.CustomerName, Bestellungen.OrderID FROM Kunden LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID ORDER BY Kunden.CustomerName;
Hinweis:LEFT JOIN关键字返回左表(客户表 Customers)的所有记录,即使是在右表(订单表 Orders)不匹配。
RIGHT JOIN命令从右表返回所有行,并从左表返回匹配的记录。如果没有匹配项,则结果从左侧为NULL。
以下SQL将返回所有员工以及他们可能下的所有订单:
SELECT Orders.OrderID, Employees.LastName, Employees.FirstName FROM Orders RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID ORDER BY Orders.OrderID;
Hinweis:RIGHT JOIN关键字返回右表(雇员 Employees)的所有记录,即使在左表(订单 Orders)不匹配。
FULL OUTER JOIN当左表或右表中存在匹配项时,该命令将返回所有行。
以下SQL语句选择所有客户和所有订单:
SELECT Kunden.CustomerName, Bestellungen.OrderID FROM Kunden FULL OUTER JOIN ON Kunden.CustomerID=Bestellungen.CustomerID ORDER BY Kunden.CustomerName;
Hinweis:FULL OUTER JOIN-Schlüsselwort zeigt alle Zeilen der linken Tabelle (Kunden Kunden) sowie alle Zeilen aus der rechten Tabelle (Bestellungen Bestellungen). Wenn einige Zeilen in 'Kunden Kunden' in 'Bestellungen Bestellungen' keine Übereinstimmung haben oder einige Zeilen in 'Bestellungen Bestellungen' in 'Kunden Kunden' keine Übereinstimmung haben, werden diese Zeilen ebenfalls aufgelistet.