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

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.

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

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:

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