SQL JOIN (Čeština)

Jak získám data z více tabulek?

SQL JOIN kombinuje záznamy ze dvou tabulek.
JOIN vyhledá související hodnoty sloupců ve dvou tabulkách.
Dotaz může obsahovat nulu, jednu nebo více operací JOIN.
VNITŘNÍ PŘIPOJENÍ je stejné jako PŘIPOJENÍ; klíčové slovo VNITŘNÍ je volitelné.

Čtyři různé typy PŘIPOJENÍ

  1. (VNITŘNÍ) PŘIPOJENÍ: Vyberte záznamy které mají shodné hodnoty v obou tabulkách.
  2. FULL (OUTER) JOIN: Vybere všechny záznamy, které odpovídají levému nebo pravému záznamu tabulky.
  3. LEFT (OUTER) JOIN: Vyberte záznamy z první (nejvíce vlevo) tabulka s odpovídajícími pravými záznamy tabulky.
  4. PRAVÉ (VNĚJŠÍ) PŘIPOJENÍ: Vyberte záznamy z druhé (pravé) tabulky se shodnými záznamy levé tabulky.

Poznámka: Všechna klíčová slova VNITŘNÍ a VNĚJŠÍ jsou volitelná.
Podrobnosti o různých PŘIPOJENÍCH jsou k dispozici na následujících stránkách výuky.

SQL PŘIPOJTE se k syntaxi

Obecná syntaxe je

SELECT column-names FROM table-name1 JOIN table-name2 ON column-name1 = column-name2 WHERE condition

Obecná syntaxe s INNER je:

SELECT column-names FROM table-name1 INNER JOIN table-name2 ON column-name1 = column-name2 WHERE condition

Poznámka: Klíčové slovo INNER je volitelné: je to výchozí i nejčastěji používaná operace JOIN.

ZÁKAZNÍK

Id

První tName

Příjmení

Město

Země

Telefon

OBJEDNAT

ID

Datum objednávky

Číslo objednávky

CustomerId

TotalAmount

Příklady SQL JOIN

Problém: Seznam všech objednávek s informacemi o zákazníkovi

V tomto příkladu by mohlo být užitečné použít Aliasy tabulky pro a Zákazník.

Výsledek: 830 záznamů.
Číslo objednávky Celková částka Jméno Příjmení Město Země
542378 440,00 Paul Henriot Remeš Francie
542379 1863,40 Karin Josephs Münster Německo
542380 1813,00 Mario Pontes Rio de Janeiro Brazílie
542381 670,80 Mary Saveley Lyon Francie
542382 3730,00 Pascale Cartrain Charleroi Belgie
542383 1444,80 Mario Pontes Rio de Janeiro Brazílie
542384 625,20 jang wang Bern Švýcarsko

PRODUCT

ID

Název produktu

SupplierId

UnitPrice

Balíček

IsDiscontinued

OBJEDNÁVKA

Id

OrderId

ProductId

UnitPrice

Množství

OBJEDNAT

ID

Datum objednávky

Číslo objednávky

CustomerId

TotalAmount

Problém: Seznam všech objednávek
s názvy produktů,
množství a ceny
Tento dotaz provádí dvě operace JOIN se 3 tabulkami.
O, I a P jsou aliasy tabulek . Datum je alias sloupce.
Výsledek: 2155 záznamů

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *