Articles

SQL left JOIN (Čeština)

Shrnutí: v tomto tutoriálu, budeme vám představit další druh spojení, nazývá SQL left JOIN, který umožňuje načíst data z více tabulek.

Úvod do SQL left JOIN klauzule

V předchozím tutoriálu, jste se dozvěděli o vnitřní spojení, které vrací řádky, pokud existuje alespoň jeden řádek v obou tabulkách, který odpovídá podmínku spojení. Klauzule o vnitřním spojení eliminuje řádky, které se neshodují s řadou druhé tabulky.,

levé spojení však vrací všechny řádky z levé tabulky, zda je v pravé tabulce odpovídající řádek.

Předpokládejme, že máme dvě tabulky A A B. tabulka a má čtyři řádky 1, 2, 3 a 4. Tabulka B má také čtyři řádky 3, 4, 5, 6.

když spojíme tabulku a s tabulkou B, všechny řádky v tabulce a (levá tabulka) jsou zahrnuty do sady výsledků, zda je v tabulce B odpovídající řádek nebo ne.

V SQL, použijeme následující syntaxi join tabulky A s tabulkou B.,

za klauzulí FROM se objeví klauzule LEFT JOIN. Stav, který následuje NA klíčové slovo se nazývá připojit podmínku B.n = A.n

SQL left JOIN příklady

SQL left JOIN dvou tabulek příkladů

Pojďme se podívat na countries locations tabulky.

Každé místo patří do jedné a pouze jedné země, přičemž každá země může mít nula nebo více místech., Vztah mezi zeměmi a místy je individuální.

sloupec country_id v tabulce umístění je cizí klíč, který odkazuje na sloupec country_id v tabulce zemí.

Chcete-li dotazovat názvy zemí USA, Velké Británie a Číny, použijte následující prohlášení.,0bc“>

najdete ji v akci

následující dotaz načte míst se nachází v USA, velké BRITÁNII a Číně:

najdete ji v akci

Nyní, používáme left JOIN klauzule připojit k zemím, stůl s místech tabulky jako následující dotaz:

najdete ji v akci

podmínka v klauzuli where se aplikuje tak, že prohlášení pouze načte data z USA, velké BRITÁNII a Číně řádky.,

protože používáme klauzuli LEFT JOIN, všechny řádky, které splňují podmínku v klauzuli WHERE v tabulce zemí, jsou zahrnuty do sady výsledků.

pro každý řádek v tabulce zemí nalezne klauzule LEFT JOIN odpovídající řádky v tabulce umístění.

Pokud byl nalezen alespoň jeden odpovídající řádek, databázový motor kombinuje data ze sloupců odpovídajících řádků v obou tabulkách.

v případě, že není nalezen odpovídající řádek, např. u country_id CN je řádek v tabulce zemí zahrnut do sady výsledků a řádek v tabulce umístění je vyplněn hodnotami NULL.,

protože neodpovídající řádky v pravé tabulce jsou vyplněny hodnotami NULL, můžete použít klauzuli LEFT JOIN pro miss-match řádky mezi tabulkami.

například, najít zemi, která nemá žádné místech v místech tabulky, můžete použít následující dotaz:

najdete ji v akci

SQL left JOIN 3 příklad tabulky

Viz následující tabulky: regiony, země a místa.,

Jeden region může mít žádné nebo mnoho zemí, přičemž každá země se nachází v jednom regionu. Vztah mezi zeměmi a regiony je individuální. Sloupec region_id v tabulce země je odkazem mezi tabulkou zemí a regionů.,

následující prohlášení ukazuje, jak se připojit 3 tabulky: regionů, zemí a míst:

najdete ji v akci

Nyní byste měli mít dobré znalosti o tom, jak SQL left JOIN klauzule funguje a vědět, jak použít left JOIN klauzule data dotazu z více tabulek.

  • byl tento tutoriál užitečný ?
  • YesNo