-1. CrossJoin (kartézký součin)
spojuje každou řádku z první tabulky se vsemi radky druhe tabulky
-
nezohlednuje zadne sloupce
-
pocet radku ve vysledku = počet radku prvni tabulky * pocet radku druhé tabulky
Select* from tab1 cross join tab2;použití : možnost získat všechny možné kombinace obou tabulek.
-2. Natural join (přirozené spojení ) MSSQL tento příkaz nepodporuje
-
spojuje tabulky na základě shodných názvů sloupců.
-
používá innerJoin bez nutnosti uvedení podmínky on.
select from tab1 natural join tab2;-3. self join
je specialní typ joinu, kde tabulka se spojuje sama se sebou. Používá se například při přáci se stromovou hierarchií, nebo propojené záznamy ve stejné tabulce.
jak funguje self join:
-
každý řádek se může spojit s jiným řádkem téže tabulky.
-
používají se aliasy.
-
nejčastěji se používá inner join nebo left join
SELECT e1.jmeno, e2.jmeno AS manager_jmeno FROM zamestnanci e1 LEFT JOIN zamestnanci e2 ON e1.manager_id = e2.id;-4 inner join
-5 outer join