logo

SQL savienojumi (iekšējais, pa kreisi, pa labi un pilns savienojums)

SQL pievienošanās darbība apvieno datus vai rindas no divām vai vairākām tabulām, pamatojoties uz kopīgu lauku starp tām.

Šajā rakstā mēs uzzināsim par pievienojas SQL, aptver JOIN veidus, sintaksi un piemērus.

SQL JOIN

SQL JOIN klauzula tiek izmantota, lai vaicātu un piekļūtu datiem no vairākām tabulām, izveidojot starp tām loģiskas attiecības. Tas var piekļūt datiem no vairākām tabulām vienlaikus, izmantojot kopīgas atslēgas vērtības, kas tiek koplietotas dažādās tabulās.



Mēs varam izmantot SQL JOIN ar vairākām tabulām. To var arī savienot pārī ar citām klauzulām, vispopulārākais lietojums būs JOIN with KUR klauzula lai filtrētu datu izguvi.

SQL JOIN piemērs

Apsveriet abas zemāk esošās tabulas šādi:

Students:

studentu galds Studentu kurss :

kursu galds

Abas šīs tabulas ir savienotas ar vienu kopīgu atslēgu (kolonnu), t.i., ROLL_NO.

Mēs varam veikt JOIN darbību, izmantojot doto SQL vaicājumu:

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

Izvade:

ROLL_NO VĀRDS ADRESE TELEFONIS VECUMS COURSE_ID
1 SARBI DELI XXXXXXXXX 18 1
2 PRAKSE BIHAR XXXXXXXXX 19 2
3 RIJANKA SILGURI XXXXXXXXX divdesmit 2
4 DZIĻI RAMNAGAR XXXXXXXXX 18 3
5 SAPTARI KOLKATA XXXXXXXXX 19 1

JOIN veidi SQL

SQL ir daudz veidu pievienošanās. Atkarībā no lietošanas gadījuma varat izmantot dažāda veida SQL JOIN klauzulu. Tālāk ir norādīti bieži izmantotie SQL JOIN veidi:

  • IEKŠĒJĀ PIEVIENOŠANĀS
  • PA kreisi PIEVIENOTIES
  • PAREIZI PIEVIENOJIES
  • PILNĪGS PIEVIENOJIES
  • DABĪGA PIEVIENOŠANĀS

SQL INNER JOIN

The IEKŠĒJĀ PIEVIENOŠANĀS atslēgvārds atlasa visas rindas no abām tabulām, ja vien nosacījums ir izpildīts. Šis atslēgvārds izveidos rezultātu kopu, apvienojot visas rindas no abām tabulām, kurās nosacījums atbilst, t.i., kopējā lauka vērtība būs vienāda.

Sintakse :

SQL INNER JOIN sintakse ir:

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

Šeit,

  • tabula1 : Pirmā tabula.
  • tabula2 : Otrā tabula
  • atbilstošā_kolonna : abām tabulām kopīga kolonna.

Piezīme : IEKŠĒJĀ JOIN vietā varam rakstīt arī JOIN. JOIN ir tas pats, kas IEKŠĒJĀ JOIN.

sql iekšējā savienojuma vizuālais attēlojums

INNER JOIN Piemērs

Apskatīsim INNER JOIN klauzulas piemēru un sapratīsim, ka tā darbojas.

Šis vaicājums parādīs dažādos kursos uzņemto studentu vārdus un vecumu.

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

Izvade :

sql iekšējā savienojuma piemēra izvade

SQL LEFT JOIN

LEFT JOIN atgriež visas tabulas rindas savienojuma kreisajā pusē un saskaņo rindas tabulai savienojuma labajā pusē. Rindām, kurām labajā pusē nav atbilstošas ​​rindas, rezultātu kopa saturēs null . LEFT JOIN ir pazīstams arī kā LEFT OUTTER JOIN.

Sintakse

LEFT JOIN sintakse SQL ir :

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

Šeit,

  • tabula 1: Pirmā tabula.
  • tabula2 : Otrā tabula
  • atbilstošā_kolonna : abām tabulām kopīga kolonna.

Piezīme : LEFT JOIN vietā varam izmantot arī LEFT OUTTER JOIN, abi ir vienādi.

Pa kreisi_Pievienoties

LEFT JOIN Piemērs

Apskatīsim LEFT JOIN klauzulas piemēru un sapratīsim, ka tā darbojas

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

Izvade :

sql kreisā savienojuma piemēra izvade

SQL RIGHT JOIN

PAREIZI PIEVIENOJIES atgriež visas tabulas rindas savienojuma labajā pusē un atbilstošās rindas tabulai savienojuma kreisajā pusē. Tas ir ļoti līdzīgs LEFT JOIN Rindām, kurām kreisajā pusē nav atbilstošas ​​rindas, rezultātu kopa saturēs null . RIGHT JOIN ir pazīstams arī kā RIGHT OUTTER JOIN.

Sintakse:

RIGHT JOIN sintakse SQL ir šāda:

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

Šeit,

  • tabula1 : Pirmā tabula.
  • tabula2 : Otrā tabula
  • atbilstošā_kolonna : abām tabulām kopīga kolonna.

Piezīme : Varam arī izmantot LABĀ ĀRĒJĀ PIEVIENOTIES RIGHT JOIN vietā abi ir vienādi.

sql tiesības pievienoties vizuālajam attēlojumam

RIGHT JOIN Piemērs :

Apskatīsim RIGHT JOIN klauzulas piemēru un sapratīsim, ka tā darbojas

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

Izvade:

labā savienojuma piemēra izvade

griešanas rīks ubuntu

SQL FULL JOIN

PILNĪGS PIEVIENOJIES izveido rezultātu kopu, apvienojot gan LEFT JOIN, gan RIGHT JOIN rezultātus. Rezultātu kopa saturēs visas rindas no abām tabulām. Rindām, kurām nav atbilstības, rezultātu kopa saturēs NULL vērtības.

Pilns_Pievienoties

Sintakse

SQL FULL JOIN sintakse ir:

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

Šeit,

  • tabula1 : Pirmā tabula.
  • tabula2 : Otrā tabula
  • atbilstošā_kolonna : abām tabulām kopīga kolonna.

FULL JOIN Piemērs

Apskatīsim klauzulas FULL JOIN piemēru un sapratīsim, ka tā darbojas

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

Izvade:

pārvērst virkni par datumu

VĀRDS

COURSE_ID

SARBI

1

PRAKSE

2

RIJANKA

2

DZIĻI

3

SAPTARI

1

DHANRAJ

NULL

ROHIT

NULL

NIRAJ

NULL

NULL

4

NULL

5

NULL

4

SQL dabiskā pievienošanās (?)

Dabiskā savienošana var apvienot tabulas, pamatojoties uz kopīgajām kolonnām tabulās, kuras tiek savienotas. Dabiskā savienošana atgriež visas rindas, saskaņojot vērtības kopējās kolonnās, kurām ir vienāds kolonnu nosaukums un datu tips, un šai kolonnai ir jābūt abās tabulās.

Abām tabulām ir jābūt vismaz vienai kopējai kolonnai ar vienādu kolonnas nosaukumu un tādu pašu datu tipu.

Abas tabulas ir savienotas, izmantojot Krustveida pievienošanās .

DBVS meklēs kopīgu kolonnu ar tādu pašu nosaukumu un datu tipu. Rezultātā tiek saglabāti korektori, kuriem kopējās kolonnās ir tieši tādas pašas vērtības.

Dabiskas pievienošanās piemērs:

Apskatiet divas zemāk esošās tabulas — Darbinieks un nodaļa

Darbinieks

Emp_id Emp_name Dept_id
1 Ram 10
2 Džons 30
3 Bobs piecdesmit

nodaļa

Dept_id Dept_name
10 IT
30 HR
40 TIS

Problēma : atrodiet visus darbiniekus un viņu attiecīgās nodaļas.

Risinājuma vaicājums : (Darbinieks) ? (Nodaļa)

Emp_id Emp_name Dept_id Dept_id Dept_name
1 Ram 10 10 IT
2 Džons 30 30 HR
Darbinieku dati Nodaļas dati

Papildu resursi

Lai uzzinātu vairāk par SQL JOIN, mēģiniet skatīties mūsu videoklipus un lasīt rakstus:

Pa kreisi JOIN (video)
Pa labi JOIN (video)
Pilns PIEVIENOTIES (video)
SQL | PIEVIENOTIES (Dekarta pievienošanās, pašapvienošanās)