29. 2. 2016

SQL - JOIN

INNER JOIN / JOIN

Spojení pouze toho, co mají obě tabulky společné.


Příklad
SELECT [názvy sloupců]
FROM Tabulka1
JOIN Tabulka2
ON Tabulka1.Sloupec = Tabulka2.Sloupec


LEFT OUTER JOIN / LEFT JOIN

Vypíše data, která jsou v levé tabulce + společné.


SELECT [názvy sloupců]
FROM Tabulka1
LEFT JOIN Tabulka2
ON Tabulka1.Sloupec = Tabulka2.Sloupec




RIGHT OUTER JOIN / RIGHT JOIN

Vypíše data, která jsou v pravé tabulce + společné.


SELECT [názvy sloupců]
FROM Tabulka1
RIGHT JOIN Tabulka2
ON Tabulka1.Sloupec = Tabulka2.Sloupec



FULL OUTER JOIN / FULL JOIN

Vypíše data, která jsou v levé + pravé tabulce + společné.


SELECT [názvy sloupců]
FROM Tabulka1
FULL JOIN Tabulka2
ON Tabulka1.Sloupec = Tabulka2.Sloupec



CROSS JOIN

"Vynásobí" data mezi oběma tabulkami. V levé je 5 záznamů a v pravé jsou 3. Výsledkem je celkem 15 záznamů.


SELECT [názvy sloupců]
FROM Tabulka1
CROSS JOIN Tabulka2


LEFT JOIN - s příznakem WHERE

Vypíše data, která jsou pouze v levé tabulce a nejsou společná.


SELECT [názvy sloupců]
FROM Tabulka1
LEFT JOIN Tabulka2
ON Tabulka1.Sloupec = Tabulka2.Sloupec
WHERE
Tabulka1.Sloupec IS NULL


RIGHT JOIN - s příznakem WHERE

Vypíše data, která jsou pouze v pravé tabulce a nejsou společná.


SELECT [názvy sloupců]
FROM Tabulka1
RIGHT JOIN Tabulka2
ON Tabulka1.Sloupec = Tabulka2.Sloupec
WHERE Tabulka1.Sloupec IS NULL


FULL JOIN - s příznakem WHERE

Spojení všeho co je v levé a v pravé tabulce. To co mají společné, se nepřidá.


SELECT [názvy sloupců]
FROM Tabulka1
RIGHT JOIN Tabulka2
ON Tabulka1.Sloupec = Tabulka2.Sloupec
WHERE Tabulka1.Sloupec IS NULL
OR Tabulka2.Slupec IS NULL

Žádné komentáře:

Okomentovat