SQL INNER JOIN
❮ SQL Справочник Ключевых слов
INNER JOIN
Команда INNER JOIN
возвращает строки, имеющие совпадающие значения в обеих таблицах.
Следующий SQL выбирает все заказы с информацией о клиенте:
Пример
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN
Customers ON Orders.CustomerID = Customers.CustomerID;
Попробуйте сами »
Примечание: Ключевое слово INNER JOIN выбирает все строки из обеих таблиц до тех пор, пока существует соответствие между столбцами. Если в таблице "Заказы" есть записи, которые не имеют совпадений в разделе "Клиенты", то эти заказы не будут показаны!
Следующая инструкция 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
Команда LEFT JOIN
возвращает все строки из левой таблицы и соответствующие строки из правой таблицы.
Результат будет NULL с правой стороны, если нет совпадения.
В следующем SQL будут выбраны все клиенты и любые заказы, которые они могут иметь:
Пример
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.CustomerName;
Попробуйте сами »
Примечание: Ключевое слово LEFT JOIN
возвращает все записи из левой таблицы (Клиенты),
даже если в правой таблице (Заказы) нет совпадений.
RIGHT JOIN
Команда 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;
Попробуйте сами »
Примечание: Ключевое слово RIGHT JOIN
ключевое слово возвращает все записи из правой таблицы (Сотрудники),
даже если в левой таблице (Заказы) нет совпадений.
FULL OUTER JOIN
Команда FULL OUTER JOIN
возвращает все строки, когда есть совпадение либо в левой таблице, либо в правой таблице.
Следующая инструкция SQL выбирает всех клиентов и все заказы:
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;
Примечание: Ключевое слово FULL OUTER JOIN
возвращает все строки из левой таблицы (Клиенты) и все строки из правой таблицы (Заказы).
Если есть строки в разделе "Клиенты", которые не имеют совпадений в разделе "Заказы",
или если есть строки в разделе "Заказы", которые не имеют совпадений в разделе "Клиенты", то эти строки также будут перечислены.