logo

SQL-kopplingar (inre, vänster, höger och fullständig koppling)

SQL Join operation kombinerar data eller rader från två eller flera tabeller baserat på ett gemensamt fält mellan dem.

I den här artikeln kommer vi att lära oss om Går med i SQL, som täcker JOIN-typer, syntax och exempel.

SQL JOIN

SQL JOIN-satsen används för att fråga efter och komma åt data från flera tabeller genom att upprätta logiska relationer mellan dem. Den kan komma åt data från flera tabeller samtidigt med hjälp av gemensamma nyckelvärden som delas mellan olika tabeller.



Vi kan använda SQL JOIN med flera tabeller. Den kan också paras ihop med andra klausuler, den mest populära användningen är att använda JOIN med WHERE klausul för att filtrera datahämtning.

Exempel på SQL JOIN

Betrakta de två tabellerna nedan enligt följande:

Studerande:

studentbord Studentkurs :

kurstabell

Båda dessa tabeller är sammankopplade med en gemensam nyckel (kolumn), dvs ROLL_NO.

Vi kan utföra en JOIN-operation med den givna SQL-frågan:

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

Produktion:

ROLL_NO NAMN ADRESS TELEFON ÅLDER COURSE_ID
1 HÅRD DELHI XXXXXXXXX 18 1
2 ÖVA BIHAR XXXXXXXXX 19 2
3 RIYANKA SILGURI XXXXXXXXX tjugo 2
4 DJUP RAMNAGAR XXXXXXXXX 18 3
5 SAPTARHI KOLKATA XXXXXXXXX 19 1

Typer av JOIN i SQL

Det finns många typer av Joins i SQL. Beroende på användningsfallet kan du använda olika typer av SQL JOIN-sats. Här är de ofta använda SQL JOIN-typerna:

  • INRE KOPPLING
  • VÄNSTER GÅ MED
  • HÖGER GÅ MED
  • FULL GÅ MED
  • NATURLIG GÅ MED

SQL INNER JOIN

De INRE KOPPLING nyckelordet väljer alla rader från båda tabellerna så länge som villkoret är uppfyllt. Detta nyckelord kommer att skapa resultatuppsättningen genom att kombinera alla rader från båda tabellerna där villkoret uppfyller, dvs. värdet på det gemensamma fältet kommer att vara detsamma.

Syntax :

Syntaxen för SQL INNER JOIN är:

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

Här,

  • bord 1 : Första bordet.
  • Tabell 2 : Andra bordet
  • matchande_kolumn : Kolumn gemensam för båda tabellerna.

Notera : Vi kan också skriva JOIN istället för INNER JOIN. JOIN är samma som INNER JOIN.

sql inner join visuell representation

INNER JOIN Exempel

Låt oss titta på exemplet med INNER JOIN-klausulen och förstå att det fungerar.

Denna fråga kommer att visa namn och ålder på elever som är inskrivna i olika kurser.

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

Produktion :

sql inner join exempel utdata

SQL LEFT JOIN

LEFT JOIN returnerar alla rader i tabellen på vänster sida av sammanfogningen och matchar rader för tabellen på höger sida av sammanfogningen. För de rader för vilka det inte finns någon matchande rad på höger sida kommer resultatuppsättningen att innehålla null . LEFT JOIN är också känd som LEFT OUTER JOIN.

Syntax

Syntaxen för LEFT JOIN i SQL är :

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

Här,

  • bord 1: Första bordet.
  • Tabell 2 : Andra bordet
  • matchande_kolumn : Kolumn gemensam för båda tabellerna.

Notera : Vi kan också använda LEFT OUTER JOIN istället för LEFT JOIN, båda är desamma.

Left_Join

LEFT JOIN Exempel

Låt oss titta på exemplet med LEFT JOIN-klausulen och förstå att det fungerar

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

Produktion :

sql left join exempel utdata

SQL RIGHT JOIN

HÖGER GÅ MED returnerar alla rader i tabellen på höger sida av sammanfogningen och matchande rader för tabellen på vänster sida av sammanfogningen. Det är mycket likt LEFT JOIN För de rader för vilka det inte finns någon matchande rad på vänster sida, resultatuppsättningen kommer att innehålla null . RIGHT OUTER JOIN kallas även RIGHT OUTER JOIN.

Syntax:

Syntaxen för RIGHT JOIN i SQL är:

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

Här,

  • bord 1 : Första bordet.
  • Tabell 2 : Andra bordet
  • matchande_kolumn : Kolumn gemensam för båda tabellerna.

Notera : Vi kan också använda HÖGER YTTRE JOIN istället för RIGHT JOIN är båda desamma.

sql right join visuell representation

RIGHT JOIN Exempel :

Låt oss titta på exemplet med RIGHT JOIN-klausulen och förstå att det fungerar

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

Produktion:

högeranslutningsexempelutgång

SQL FULLKOMMEN

FULL GÅ MED skapar resultatuppsättningen genom att kombinera resultaten av både LEFT JOIN och RIGHT JOIN. Resultatuppsättningen kommer att innehålla alla rader från båda tabellerna. För de rader som det inte finns någon matchning för kommer resultatuppsättningen att innehålla NULL värden.

Full_Gå med

Syntax

Syntaxen för SQL FULL JOIN är:

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

Här,

  • bord 1 : Första bordet.
  • Tabell 2 : Andra bordet
  • matchande_kolumn : Kolumn gemensam för båda tabellerna.

FULL GÅNG Exempel

Låt oss titta på exemplet med FULL JOIN-klausul och förstå att det fungerar

java-array till listan
  SELECT   Student.NAME,StudentCourse.COURSE_ID    FROM   Student   FULL JOIN   StudentCourse    ON   StudentCourse.ROLL_NO = Student.ROLL_NO;>

Produktion:

NAMN

COURSE_ID

HÅRD

1

ÖVA

2

RIYANKA

2

DJUP

3

SAPTARHI

1

DHANRAJ

NULL

ROHIT

NULL

NIRAJ

NULL

NULL

4

NULL

5

NULL

4

SQL Natural join (?)

Natural join kan sammanfoga tabeller baserat på de vanliga kolumnerna i de tabeller som sammanfogas. En naturlig koppling returnerar alla rader genom att matcha värden i vanliga kolumner med samma namn och datatyp för kolumner och den kolumnen bör finnas i båda tabellerna.

Båda tabellerna måste ha minst en gemensam kolumn med samma kolumnnamn och samma datatyp.

De två borden är sammanfogade med hjälp av Cross join .

DBMS kommer att leta efter en gemensam kolumn med samma namn och datatyp. Tuples med exakt samma värden i gemensamma kolumner hålls i resultat.

Naturlig anslutning Exempel:

Titta på de två tabellerna nedan - Anställd och avdelning

Anställd

Emp_id Emp_name Dept_id
1 Bagge 10
2 Jon 30
3 Guppa femtio

Avdelning

Dept_id Avdelningsnamn
10 DEN
30 HR
40 TIS

Problem : Hitta alla anställda och deras respektive avdelningar.

Lösningsfråga : (Anställd) ? (Avdelning)

Emp_id Emp_name Dept_id Dept_id Avdelningsnamn
1 Bagge 10 10 DEN
2 Jon 30 30 HR
Anställda data Avdelningsdata

Ytterligare resurser

För att lära dig mer om SQL JOIN prova att titta på våra videor och läsa artiklar:

Vänster JOIN (video)
Höger JOIN (video)
Fullständig GÅ MED (video)
SQL | JOIN (Cartesian Join, Self Join)