Klíčové slovo SQL JOIN
❮ Reference klíčových slov SQL
VNITŘNÍ SPOJENÍ
Příkaz INNER JOIN
vrátí řádky, které mají v obou tabulkách shodné hodnoty.
Následující SQL vybere všechny objednávky s informacemi o zákaznících:
Příklad
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN
Customers ON Orders.CustomerID = Customers.CustomerID;
Poznámka: Klíčové slovo INNER JOIN vybere všechny řádky z obou tabulek, pokud mezi sloupci existuje shoda. Pokud jsou v tabulce "Objednávky" záznamy, které nemají shodu v "Zákazníci", tyto objednávky se nezobrazí!
Následující příkaz SQL vybere všechny objednávky s informacemi o zákazníkovi a odesílateli:
Příklad
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);
PŘIPOJIT SE VLEVO
Příkaz LEFT JOIN
vrátí všechny řádky z levé tabulky a odpovídající řádky z pravé tabulky. Výsledek je NULL z pravé strany, pokud není shoda.
Následující SQL vybere všechny zákazníky a všechny objednávky, které mohou mít:
Příklad
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.CustomerName;
Poznámka: Klíčové LEFT JOIN
slovo vrátí všechny záznamy z levé tabulky (Zákazníci), i když v pravé tabulce (Objednávky) nejsou žádné shody.
SPRÁVNÉ PŘIPOJENÍ SE
Příkaz RIGHT JOIN
vrátí všechny řádky z pravé tabulky a odpovídající záznamy z levé tabulky. Výsledek je NULL z levé strany, když není shoda.
Následující SQL vrátí všechny zaměstnance a všechny objednávky, které mohli zadat:
Příklad
SELECT Orders.OrderID, Employees.LastName, Employees.FirstName
FROM Orders
RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
ORDER BY Orders.OrderID;
Poznámka: Klíčové RIGHT JOIN
slovo vrátí všechny záznamy z pravé tabulky (Zaměstnanci), i když v levé tabulce (Objednávky) nejsou žádné shody.
ÚPLNÉ VNĚJŠÍ PŘIPOJENÍ
Příkaz FULL OUTER JOIN
vrátí všechny řádky, pokud existuje shoda v levé nebo pravé tabulce.
Následující příkaz SQL vybere všechny zákazníky a všechny objednávky:
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;
Poznámka: Klíčové FULL OUTER JOIN
slovo vrátí všechny řádky z levé tabulky (Zákazníci) a všechny řádky z pravé tabulky (Objednávky). Pokud jsou v "Zákazníci" řádky, které nemají shody v "Objednávky", nebo pokud jsou v "Objednávky" řádky, které nemají shodu v "Zákazníci", budou tyto řádky uvedeny také.
❮ Reference klíčových slov SQL