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ý kurz :

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.

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 :

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 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 :

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

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:

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.
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)