logo

SQL spojení (vnitřní, levé, pravé a úplné spojení)

Připojit se k SQL operace kombinuje data nebo řádky ze dvou nebo více tabulek na základě společného pole mezi nimi.

V tomto článku se dozvíme o Připojí se v SQL, zahrnující typy, syntaxi a příklady JOIN.

SQL JOIN

Klauzule SQL JOIN se používá k dotazování a přístupu k datům z více tabulek vytvořením logických vztahů mezi nimi. Může přistupovat k datům z více tabulek současně pomocí společných hodnot klíčů sdílených mezi různými tabulkami.



Můžeme použít SQL JOIN s více tabulkami. Lze jej také spárovat s jinými doložkami, nejoblíbenější použití bude použití JOIN with klauzule WHERE k filtrování načítání dat.

Příklad SQL JOIN

Zvažte následující dvě tabulky:

Student:

studentský stůl Studentský kurz :

kurzový stůl

Obě tyto tabulky jsou spojeny jedním společným klíčem (sloupcem) tj. ROLL_NO.

příklad alfa beta prořezávání

Pomocí zadaného SQL dotazu můžeme provést operaci JOIN:

  SELECT   s.roll_no, s.name, s.address, s.phone, s.age, sc.course_id   FROM   Student s   JOIN   StudentCourse sc   ON   s.roll_no = sc.roll_no;>

Výstup:

ROLL_NO NÁZEV ADRESA TELEFON STÁŘÍ COURSE_ID
1 DRSNÝ DILLÍ XXXXXXXXXX 18 1
2 PRAXE BIHAR XXXXXXXXXX 19 2
3 RIJANKA SILGURI XXXXXXXXXX dvacet 2
4 HLUBOKÝ RAMNAGAR XXXXXXXXXX 18 3
5 SAPTARHI KOLKATA XXXXXXXXXX 19 1

Typy JOIN v SQL

V SQL existuje mnoho typů spojení. V závislosti na případu použití můžete použít jiný typ klauzule SQL JOIN. Zde jsou často používané typy SQL JOIN:

  • VNITŘNÍ SPOJENÍ
  • PŘIPOJIT SE VLEVO
  • SPRÁVNÉ PŘIPOJENÍ SE
  • PLNÉ PŘIPOJENÍ
  • PŘIROZENÉ PŘIPOJENÍ

SQL VNITŘNÍ PŘIPOJENÍ

The VNITŘNÍ SPOJENÍ klíčové slovo vybere všechny řádky z obou tabulek, pokud je splněna podmínka. Toto klíčové slovo vytvoří sadu výsledků kombinací všech řádků z obou tabulek, kde podmínka vyhovuje, tj. hodnota společného pole bude stejná.

Syntax :

Syntaxe SQL INNER JOIN je:

  SELECT   table1.column1,table1.column2,table2.column1,....   FROM   table1    INNER JOIN   table2   ON   table1.matching_column = table2.matching_column;>

Tady,

  • stůl 1 : První stůl.
  • tabulka2 : Druhý stůl
  • odpovídající_sloupec : Sloupec společný pro obě tabulky.

Poznámka : Místo INNER JOIN můžeme také napsat JOIN. JOIN je stejné jako INNER JOIN.

vizuální reprezentace vnitřního spojení sql

Příklad INNER JOIN

Podívejme se na příklad klauzule INNER JOIN a pochopíme, že to funguje.

Tento dotaz zobrazí jména a věk studentů zapsaných do různých kurzů.

  SELECT   StudentCourse.COURSE_ID, Student.NAME, Student.AGE   FROM   Student   INNER JOIN   StudentCourse   ON   Student.ROLL_NO = StudentCourse.ROLL_NO;>

Výstup :

Příklad výstupu vnitřního spojení sql

SQL LEVÉ PŘIPOJENÍ

LEFT JOIN vrátí všechny řádky tabulky na levé straně spojení a odpovídá řádkům pro tabulku na pravé straně spojení. Pro řádky, pro které neexistuje žádný odpovídající řádek na pravé straně, bude sada výsledků obsahovat nula . LEFT JOIN je také známý jako LEFT OUTER JOIN.

Syntax

Syntaxe LEFT JOIN v SQL je :

  SELECT   table1.column1,table1.column2,table2.column1,....   FROM   table1    LEFT JOIN   table2   ON   table1.matching_column = table2.matching_column;>

Tady,

  • stůl 1: První stůl.
  • tabulka2 : Druhý stůl
  • odpovídající_sloupec : Sloupec společný pro obě tabulky.

Poznámka : Místo LEFT JOIN můžeme také použít LEFT OUTER JOIN, obojí je stejné.

Left_Join

LEFT JOIN Příklad

Podívejme se na příklad klauzule LEFT JOIN a pochopíme, že to funguje

  SELECT   Student.NAME,StudentCourse.COURSE_ID    FROM   Student   LEFT JOIN   StudentCourse    ON   StudentCourse.ROLL_NO = Student.ROLL_NO;>

Výstup :

sql left join příklad výstupu

SQL SPRÁVNÉ PŘIPOJENÍ SE

SPRÁVNÉ PŘIPOJENÍ SE vrátí všechny řádky tabulky na pravé straně spojení a odpovídající řádky pro tabulku na levé straně spojení. Je velmi podobný LEFT JOIN Pro řádky, pro které není na levé straně žádný odpovídající řádek, výsledná sada bude obsahovat nula . RIGHT JOIN je také známý jako RIGHT OUTER JOIN.

Syntax:

Syntaxe RIGHT JOIN v SQL je:

  SELECT   table1.column1,table1.column2,table2.column1,....   FROM   table1    RIGHT JOIN   table2   ON   table1.matching_column = table2.matching_column;>

Tady,

  • stůl 1 : První stůl.
  • tabulka2 : Druhý stůl
  • odpovídající_sloupec : Sloupec společný pro obě tabulky.

Poznámka : Můžeme také použít PRAVÝ VNĚJŠÍ SPOJ místo RIGHT JOIN jsou oba stejné.

sql right join vizuální reprezentace

Příklad RIGHT JOIN :

Podívejme se na příklad klauzule RIGHT JOIN a pochopíme, že to funguje

  SELECT   Student.NAME,StudentCourse.COURSE_ID    FROM   Student   RIGHT JOIN   StudentCourse    ON   StudentCourse.ROLL_NO = Student.ROLL_NO;>

Výstup:

výstup příkladu pravého spojení

SQL PLNÉ PŘIPOJENÍ

PLNÉ PŘIPOJENÍ vytváří sadu výsledků kombinací výsledků obou spojení LEFT JOIN a RIGHT JOIN. Výsledná sada bude obsahovat všechny řádky z obou tabulek. Pro řádky, pro které neexistuje žádná shoda, bude sada výsledků obsahovat NULA hodnoty.

Full_Join

Syntax

Syntaxe SQL FULL JOIN je:

  SELECT   table1.column1,table1.column2,table2.column1,....   FROM   table1    FULL JOIN   table2   ON   table1.matching_column = table2.matching_column;>

Tady,

  • stůl 1 : První stůl.
  • tabulka2 : Druhý stůl
  • odpovídající_sloupec : Sloupec společný pro obě tabulky.

Příklad FULL JOIN

Podívejme se na příklad klauzule FULL JOIN a pochopíme, že to funguje

  SELECT   Student.NAME,StudentCourse.COURSE_ID    FROM   Student   FULL JOIN   StudentCourse    ON   StudentCourse.ROLL_NO = Student.ROLL_NO;>

Výstup:

NÁZEV

COURSE_ID

DRSNÝ

1

PRAXE

2

RIJANKA

2

HLUBOKÝ

3

SAPTARHI

1

DHANRAJ

NULA

ROHIT

NULA

NIRAJ

NULA

NULA

4

NULA

5

NULA

4

SQL Natural join (?)

Přirozené spojení může spojovat tabulky na základě společných sloupců ve spojovaných tabulkách. Přirozené spojení vrátí všechny řádky odpovídajícími hodnotami ve společných sloupcích se stejným názvem a datovým typem sloupců a tento sloupec by měl být přítomen v obou tabulkách.

Obě tabulky musí mít alespoň jeden společný sloupec se stejným názvem sloupce a stejným datovým typem.

Oba stoly jsou spojeny pomocí Křížový spoj .

DBMS bude hledat společný sloupec se stejným názvem a datovým typem Ve výsledku jsou zachovány ntice, které mají ve společných sloupcích přesně stejné hodnoty.

Příklad přirozeného spojení:

Podívejte se na dvě tabulky níže – Zaměstnanec a Oddělení

Zaměstnanec

Emp_id Emp_name Dept_id
1 RAM 10
2 Jon 30
3 Bobe padesáti

oddělení

Dept_id Název_oddělení
10 TO
30 HR
40 TIS

Problém : Najděte všechny zaměstnance a jejich příslušná oddělení.

Dotaz na řešení : (Zaměstnanec) ? (Oddělení)

Emp_id Emp_name Dept_id Dept_id Název_oddělení
1 RAM 10 10 TO
2 Jon 30 30 HR
Údaje o zaměstnancích Údaje oddělení

Dodatečné zdroje

Chcete-li se dozvědět více o SQL JOIN, zkuste se podívat na naše videa a přečíst si články:

Vlevo JOIN (video)
Právo PŘIPOJIT SE (Video)
Full JOIN (video)
SQL | PŘIPOJIT SE (kartézské spojení, vlastní spojení)