logo

SQL spojenia (vnútorné, ľavé, pravé a úplné spojenie)

Pripojiť sa k SQL operácia kombinuje údaje alebo riadky z dvoch alebo viacerých tabuliek na základe spoločného poľa medzi nimi.

V tomto článku sa dozvieme o Pripojí sa v SQL, zahŕňajúce typy JOIN, syntax a príklady.

SQL JOIN

Klauzula SQL JOIN sa používa na dopytovanie a prístup k údajom z viacerých tabuliek vytvorením logických vzťahov medzi nimi. Môže pristupovať k údajom z viacerých tabuliek súčasne pomocou spoločných hodnôt kľúča zdieľaných medzi rôznymi tabuľkami.



SQL JOIN môžeme použiť s viacerými tabuľkami. Dá sa spárovať aj s inými vetami, najpopulárnejším použitím bude použitie JOIN with klauzula WHERE na filtrovanie získavania údajov.

Príklad SQL JOIN

Zvážte nasledujúce dve tabuľky:

študent:

študentský stôl Študentský kurz :

kurzový stôl

Obe tieto tabuľky sú prepojené jedným spoločným kľúčom (stĺpcom), teda ROLL_NO.

Pomocou zadaného SQL dotazu môžeme vykonať operáciu 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ýkon:

ROLL_NO NÁZOV ADRESA TELEFÓN VEK COURSE_ID
1 HARSH DILLÍ XXXXXXXXXX 18 1
2 PRAXE BIHAR XXXXXXXXXX 19 2
3 RIJANKA SILGURI XXXXXXXXXX dvadsať 2
4 DEEP RAMNAGAR XXXXXXXXXX 18 3
5 SAPTARHI KOLKATA XXXXXXXXXX 19 1

Typy JOIN v SQL

V SQL existuje veľa typov spojení. V závislosti od prípadu použitia môžete použiť iný typ klauzuly SQL JOIN. Tu sú často používané typy SQL JOIN:

  • VNÚTORNÉ SPOJENIE
  • ĽAVÉ PRIPOJENIE
  • SPRÁVNE PRIPOJTE SA
  • ÚPLNÉ PRIPOJENIE
  • PRIRODZENÉ SPOJENIE

SQL VNÚTORNÉ SPOJENIE

The VNÚTORNÉ SPOJENIE kľúčové slovo vyberie všetky riadky z oboch tabuliek, pokiaľ je splnená podmienka. Toto kľúčové slovo vytvorí množinu výsledkov spojením všetkých riadkov z oboch tabuliek, kde podmienka vyhovuje, tj hodnota spoločného poľa bude rovnaká.

skontrolujte verziu java na linuxe

Syntax :

Syntax pre SQL INNER JOIN je:

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

Tu,

  • stôl 1 : Prvá tabuľka.
  • tabuľka2 : Druhá tabuľka
  • zodpovedajúci_stĺpec : Stĺpec spoločný pre obe tabuľky.

Poznámka : Namiesto INNER JOIN môžeme napísať aj JOIN. JOIN je to isté ako INNER JOIN.

vizuálna reprezentácia vnútorného spojenia sql

Príklad INNER JOIN

Pozrime sa na príklad klauzuly INNER JOIN a pochopíme, že to funguje.

Tento dotaz zobrazí mená a vek študentov zapísaných do rôznych kurzov.

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

Výkon :

Príklad výstupu vnútorného spojenia sql

SQL LEFT JOIN

LEFT JOIN vráti všetky riadky tabuľky na ľavej strane spojenia a zhoduje sa s riadkami pre tabuľku na pravej strane spojenia. Pre riadky, pre ktoré na pravej strane neexistuje zodpovedajúci riadok, bude sada výsledkov obsahovať nulový . LEFT JOIN je tiež známy ako LEFT OUTER JOIN.

Syntax

Syntax LEFT JOIN v SQL je :

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

Tu,

  • stôl 1: Prvý stôl.
  • tabuľka2 : Druhá tabuľka
  • zodpovedajúci_stĺpec : Stĺpec spoločný pre obe tabuľky.

Poznámka : Namiesto LEFT JOIN môžeme použiť aj LEFT OUTER JOIN, obe sú rovnaké.

Left_Join

LEFT JOIN Príklad

Pozrime sa na príklad klauzuly LEFT JOIN a pochopíme, že funguje

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

Výkon :

Príklad výstupu sql left join

SQL SPRÁVNE PRIPOJTE SA

SPRÁVNE PRIPOJTE SA vráti všetky riadky tabuľky na pravej strane spojenia a zodpovedajúce riadky pre tabuľku na ľavej strane spojenia. Je to veľmi podobné ako LEFT JOIN Pre riadky, pre ktoré nie je na ľavej strane žiadny zodpovedajúci riadok, súbor výsledkov bude obsahovať nulový . RIGHT JOIN je tiež známy ako RIGHT OUTER JOIN.

Syntax:

Syntax RIGHT JOIN v SQL je:

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

Tu,

  • stôl 1 : Prvá tabuľka.
  • tabuľka2 : Druhá tabuľka
  • zodpovedajúci_stĺpec : Stĺpec spoločný pre obe tabuľky.

Poznámka : Môžeme použiť aj PRAVÝ VONKAJŠÍ SPOJ namiesto RIGHT JOIN sú obe rovnaké.

globálne premenné javascriptu

sql right join vizuálna reprezentácia

Príklad RIGHT JOIN :

Pozrime sa na príklad klauzuly 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ýkon:

výstup príkladu pravého spojenia

SQL ÚPLNÉ PRIPOJENIE

ÚPLNÉ PRIPOJENIE vytvára sadu výsledkov kombináciou výsledkov LEFT JOIN a RIGHT JOIN. Sada výsledkov bude obsahovať všetky riadky z oboch tabuliek. Pre riadky, pre ktoré neexistuje žiadna zhoda, bude sada výsledkov obsahovať NULOVÝ hodnoty.

Full_Join

Syntax

Syntax SQL FULL JOIN je:

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

Tu,

  • stôl 1 : Prvá tabuľka.
  • tabuľka2 : Druhá tabuľka
  • zodpovedajúci_stĺpec : Stĺpec spoločný pre obe tabuľky.

Príklad FULL JOIN

Pozrime sa na príklad klauzuly 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ýkon:

NÁZOV

COURSE_ID

HARSH

1

PRAXE

2

RIJANKA

2

DEEP

3

SAPTARHI

1

DHANRAJ

NULOVÝ

ROHIT

NULOVÝ

NIRAJ

NULOVÝ

NULOVÝ

4

NULOVÝ

5

NULOVÝ

4

SQL Natural join (?)

Prirodzené spojenie môže spájať tabuľky na základe spoločných stĺpcov v spájaných tabuľkách. Prirodzené spojenie vráti všetky riadky zhodou hodnôt v spoločných stĺpcoch s rovnakým názvom a dátovým typom stĺpcov a tento stĺpec by mal byť prítomný v oboch tabuľkách.

Obe tabuľky musia mať aspoň jeden spoločný stĺpec s rovnakým názvom stĺpca a rovnakým typom údajov.

Dva stoly sú spojené pomocou Krížové spojenie .

DBMS vyhľadá spoločný stĺpec s rovnakým názvom a dátovým typom Vo výsledku sa ponechajú n-tice s presne rovnakými hodnotami v spoločných stĺpcoch.

Príklad prirodzeného spojenia:

Pozrite sa na dve tabuľky nižšie – Zamestnanec a Oddelenie

zamestnanec

Emp_id Emp_name Dept_id
1 Ram 10
2 Jon 30
3 Bob päťdesiat

oddelenie

Dept_id Názov_odd
10 IT
30 HR
40 TIS

Problém : Nájdite všetkých zamestnancov a ich príslušné oddelenia.

Dotaz na riešenie : (Zamestnanec) ? (oddelenie)

porovnať reťazec v jave
Emp_id Emp_name Dept_id Dept_id Názov_odd
1 Ram 10 10 IT
2 Jon 30 30 HR
Údaje o zamestnancoch Údaje oddelenia

Dodatočné zdroje

Ak sa chcete dozvedieť viac o SQL JOIN, skúste si pozrieť naše videá a prečítať si články:

Vľavo JOIN (video)
Vpravo JOIN (video)
Úplné pripojenie (video)
SQL | PRIPOJTE SA (karteziánske spojenie, vlastné spojenie)