Úplné vnější připojení serveru SQL Server

Shrnutí: v tomto výukovém programu se naučíte používat server SQL FULL OUTER JOIN k dotazování na data ze dvou nebo více tabulek.

Úvod do úplného vnějšího připojení k serveru SQL Server

FULL OUTER JOIN vrací sadu výsledků, která obsahuje řádky z levé i pravé tabulky. Pokud pro řádek v levé tabulce neexistují žádné odpovídající řádky, sloupce pravé tabulky budou mít hodnoty null. Podobně, pokud pro řádek v pravé tabulce neexistují žádné odpovídající řádky, sloupec levé tabulky bude mít hodnoty null.

Následující text ukazuje syntaxi FULL OUTER JOIN při spojování dvou tabulek T1 a T2:

Code language: SQL (Structured Query Language) (sql)

Klíčové slovo OUTER je volitelné, takže jej můžete přeskočit, jak je znázorněno v následujícím dotazu:

Code language: SQL (Structured Query Language) (sql)

V této syntaxi :

  • Nejprve v klauzuli FROM zadejte levou tabulku T1.
  • Zadruhé, zadejte pravou tabulku T2 a predikát spojení.

Následující Vennův diagram ilustruje FULL OUTER JOIN ze dvou sad výsledků:

Příklad úplného vnějšího připojení k serveru SQL Server

Pojďme si připravit ukázkovou tabulku pro demonstraci úplného vnějšího spojení.

Nejprve vytvořte nový schéma s názvem pm, které znamená správu projektů.

Code language: SQL (Structured Query Language) (sql)

Dále vytvořte nové tabulky s názvem projects a members ve schématu pm:

Předpokládejme, že se může účastnit pouze každý člen v jednom projektu a každý projekt má nula nebo více členů. Pokud je projekt ve fázi nápadu, není mu přiřazen žádný člen.

Poté vložte několik řádků do projects a members tabulky:

Poté vyhledejte data z projects a members tabulek:

Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)

Nakonec použijte FULL OUTER JOIN k dotazování na data z projects a members tabulek:

Zde je výstup:

V tomto příkladu dotaz vrátil členy, kteří se účastní projektů, členů, kteří se neúčastní žádných projektů, a projektů, které nemají žádné členy.

Chcete-li najít členy, kteří se neúčastní jakýkoli projekt a projekty Pokud nemáte žádné členy, přidáte do výše uvedeného dotazu klauzuli WHERE:

Následující obrázek ukazuje výstup:

Jak je jasně vidět na výstupu, Jack Daniel se neúčastní žádného projektu a Develop Mobile Sales Platform nemá žádné členy.

V tomto výukovém programu jste se naučili používat SQL Server připojit k dotazu na data ze dvou nebo více tabulek.

Napsat komentář

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