logo

Uniri SQL (Iuniune interioară, stânga, dreaptă și completă)

Unire SQL operațiunea combină date sau rânduri din două sau mai multe tabele pe baza unui câmp comun între ele.

În acest articol, vom afla despre Se alătură în SQL, care acoperă tipurile JOIN, sintaxa și exemplele.

SQL JOIN

Clauza SQL JOIN este folosită pentru a interoga și accesa date din mai multe tabele prin stabilirea de relații logice între ele. Poate accesa date din mai multe tabele simultan folosind valori cheie comune partajate în diferite tabele.



Putem folosi SQL JOIN cu mai multe tabele. Poate fi asociat și cu alte clauze, cea mai populară utilizare va fi folosirea JOIN cu clauza WHERE pentru a filtra recuperarea datelor.

Exemplu SQL JOIN

Luați în considerare cele două tabele de mai jos, după cum urmează:

Student:

masa studentului Curs Student :

masa cursului

Ambele tabele sunt conectate printr-o cheie comună (coloană), adică ROLL_NO.

Putem efectua o operație JOIN folosind interogarea SQL dată:

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

Ieșire:

ROLA NUMĂRUL NUME ABORDARE TELEFON VÂRSTĂ COURSE_ID
1 ASPRU DELHI XXXXXXXXX 18 1
2 PRACTICĂ BIHAR XXXXXXXXX 19 2
3 RIYANKA SILGURI XXXXXXXXX douăzeci 2
4 AdinC RAMNAGAR XXXXXXXXX 18 3
5 SAPTARHI CALCUTA XXXXXXXXX 19 1

Tipuri de JOIN în SQL

Există multe tipuri de Joinuri în SQL. În funcție de cazul de utilizare, puteți utiliza diferite tipuri de clauză SQL JOIN. Iată tipurile SQL JOIN utilizate frecvent:

  • INNER JOIN
  • LEFT JOIN
  • ÎNSCRIEȚI DREPT
  • ALĂTURAREA COMPLETĂ
  • UNIUNEA NATURALĂ

SQL INNER JOIN

The INNER JOIN cuvântul cheie selectează toate rândurile din ambele tabele atâta timp cât condiția este îndeplinită. Acest cuvânt cheie va crea setul de rezultate combinând toate rândurile din ambele tabele în care condiția satisface, adică valoarea câmpului comun va fi aceeași.

Sintaxă :

Sintaxa pentru SQL INNER JOIN este:

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

Aici,

  • tabelul 1 : Prima masă.
  • masa 2 : A doua masă
  • coloană_potrivire : Coloană comună ambelor tabele.

Notă : Putem scrie și JOIN în loc de INNER JOIN. JOIN este la fel ca INNER JOIN.

reprezentare vizuală sql inner join

INNER JOIN Exemplu

Să ne uităm la exemplul clauzei INNER JOIN și să înțelegem că funcționează.

Această interogare va afișa numele și vârsta studenților înscriși la diferite cursuri.

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

Ieșire :

Exemplu de ieșire sql inner join

SQL LEFT JOIN

LEFT JOIN returnează toate rândurile tabelului din partea stângă a uniunii și potrivește rândurile pentru tabelul din partea dreaptă a uniunii. Pentru rândurile pentru care nu există un rând potrivit în partea dreaptă, setul de rezultate va conține nul . LEFT JOIN este cunoscută și sub numele de LEFT OUTER JOIN.

Sintaxă

Sintaxa LEFT JOIN în SQL este :

java și swing
  SELECT   table1.column1,table1.column2,table2.column1,....   FROM   table1    LEFT JOIN   table2   ON   table1.matching_column = table2.matching_column;>

Aici,

  • tabelul 1: Prima masă.
  • masa 2 : A doua masă
  • coloană_potrivire : Coloană comună ambelor tabele.

Notă : Putem folosi, de asemenea, LEFT OUTER JOIN în loc de LEFT JOIN, ambele sunt la fel.

Left_Join

LEFT JOIN Exemplu

Să ne uităm la exemplul clauzei LEFT JOIN și să înțelegem că funcționează

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

Ieșire :

sql left join exemplu de ieșire

SQL RIGHT JOIN

ÎNSCRIEȚI DREPT returnează toate rândurile tabelului din partea dreaptă a îmbinării și rândurile care se potrivesc pentru tabelul din partea stângă a îmbinării. Este foarte asemănător cu LEFT JOIN Pentru rândurile pentru care nu există un rând potrivit în partea stângă, setul de rezultate va conține nul . RIGHT JOIN este cunoscută și sub numele de RIGHT OUTER JOIN.

Sintaxă:

Sintaxa RIGHT JOIN în SQL este:

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

Aici,

  • tabelul 1 : Prima masă.
  • masa 2 : A doua masă
  • coloană_potrivire : Coloană comună ambelor tabele.

Notă : Putem folosi și UNIRE EXTERIOR DREAPTA în loc de RIGHT JOIN, ambele sunt la fel.

sql right join reprezentare vizuală

RIGHT JOIN Exemplu :

Să ne uităm la exemplul clauzei RIGHT JOIN și să înțelegem că funcționează

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

Ieșire:

ieșire exemplu de unire dreapta

SQL FULL JOIN

ALĂTURAREA COMPLETĂ creează setul de rezultate combinând rezultatele ambelor LEFT JOIN și RIGHT JOIN. Setul de rezultate va conține toate rândurile din ambele tabele. Pentru rândurile pentru care nu există potrivire, setul de rezultate va conține NUL valorile.

directorul din comenzile Linux
Full_Join

Sintaxă

Sintaxa SQL FULL JOIN este:

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

Aici,

  • tabelul 1 : Prima masă.
  • masa 2 : A doua masă
  • coloană_potrivire : Coloană comună ambelor tabele.

FULL JOIN Exemplu

Să ne uităm la exemplul clauzei FULL JOIN și să înțelegem că funcționează

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

Ieșire:

NUME

COURSE_ID

ASPRU

1

PRACTICĂ

2

RIYANKA

2

AdinC

3

SAPTARHI

1

DHANRAJ

încercați să prindeți blocul java

NUL

ROHIT

NUL

NIRAJ

NUL

NUL

4

NUL

5

NUL

4

Unire naturală SQL (?)

Asocierea naturală poate uni tabele pe baza coloanelor comune din tabelele care se unesc. O îmbinare naturală returnează toate rândurile prin potrivirea valorilor din coloanele comune care au același nume și tip de date de coloane și acea coloană ar trebui să fie prezentă în ambele tabele.

Ambele tabele trebuie să aibă cel puțin o coloană comună cu același nume de coloană și același tip de date.

Cele două mese sunt unite folosind Unire încrucișată .

DBMS va căuta o coloană comună cu același nume și tip de date Tupluri care au exact aceleași valori în coloanele comune sunt păstrate în rezultat.

Unire naturală Exemplu:

Priviți cele două tabele de mai jos - Angajat și Departament

Angajat

Emp_id Emp_name Dept_id
1 RAM 10
2 Jon 30
3 Bob cincizeci

Departament

Dept_id Nume_departament
10 ACEASTA
30 HR
40 TIS

Problemă : Găsiți toți angajații și departamentele lor respective.

Interogare de soluție : (Angajat) ? (Departament)

Emp_id Emp_name Dept_id Dept_id Nume_departament
1 RAM 10 10 ACEASTA
2 Jon 30 30 HR
Datele angajaților Datele departamentului

Resurse aditionale

Pentru a afla mai multe despre SQL JOIN, încercați să vizionați videoclipurile noastre și să citiți articole:

Stânga JOIN (video)
JOIN dreapta (video)
JOIN complet (video)
SQL | JOIN (Join cartezian, Self Join)