SQL Join operasjon kombinerer data eller rader fra to eller flere tabeller basert på et felles felt mellom dem.
filmskuespiller Kajal
I denne artikkelen vil vi lære om Blir med i SQL, som dekker JOIN-typer, syntaks og eksempler.
SQL JOIN
SQL JOIN-klausul brukes til å spørre etter og få tilgang til data fra flere tabeller ved å etablere logiske relasjoner mellom dem. Den kan få tilgang til data fra flere tabeller samtidig ved å bruke felles nøkkelverdier som deles på tvers av forskjellige tabeller.
Vi kan bruke SQL JOIN med flere tabeller. Den kan også kobles sammen med andre klausuler, den mest populære bruken vil være å bruke JOIN med WHERE-klausul for å filtrere datainnhenting.
Eksempel på SQL JOIN
Tenk på de to tabellene nedenfor som følger:
Student:
Studentkurs :

Begge disse tabellene er forbundet med én felles nøkkel (kolonne), dvs. ROLL_NO.
Vi kan utføre en JOIN-operasjon ved å bruke den gitte SQL-spørringen:
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;>
Produksjon:
| ROLL_NO | NAVN | ADRESSE | TELEFON | ALDER | COURSE_ID |
| 1 | HARDE | DELHI | XXXXXXXXX | 18 | 1 |
| 2 | ØVE PÅ | BIHAR | XXXXXXXXX | 19 | 2 |
| 3 | RIYANKA | SILGURI | XXXXXXXXX | tjue | 2 |
| 4 | DYP | RAMNAGAR | XXXXXXXXX | 18 | 3 |
| 5 | SAPTARHI | KOLKATA | XXXXXXXXX | 19 | 1 |
Typer JOIN i SQL
Det finnes mange typer Joins i SQL. Avhengig av brukstilfellet kan du bruke forskjellige typer SQL JOIN-klausul. Her er de ofte brukte SQL JOIN-typene:
- INDRE BLI MED
- VENSTRE BLI MED
- HØYRE BLI MED
- FULL MED
- NATURLIG BLI MED
SQL INNER JOIN
De INDRE BLI MED nøkkelord velger alle rader fra begge tabellene så lenge betingelsen er oppfylt. Dette nøkkelordet vil lage resultatsettet ved å kombinere alle rader fra begge tabellene der betingelsen oppfyller, dvs. verdien til fellesfeltet vil være den samme.
Syntaks :
Syntaksen for SQL INNER JOIN er:
SELECT table1.column1,table1.column2,table2.column1,.... FROM table1 INNER JOIN table2 ON table1.matching_column = table2.matching_column;>
Her,
- tabell1 : Første bord.
- tabell 2 : Andre bord
- matching_column : Felles kolonne for begge tabellene.
Merk : Vi kan også skrive JOIN i stedet for INNER JOIN. JOIN er det samme som INNER JOIN.

INNER JOIN Eksempel
La oss se på eksemplet med INNER JOIN-klausulen, og forstå at det fungerer.
Denne spørringen vil vise navn og alder på studenter som er påmeldt til forskjellige kurs.
SELECT StudentCourse.COURSE_ID, Student.NAME, Student.AGE FROM Student INNER JOIN StudentCourse ON Student.ROLL_NO = StudentCourse.ROLL_NO;>
Produksjon :

SQL LEFT JOIN
LEFT JOIN returnerer alle radene i tabellen på venstre side av sammenføyningen og matcher radene for tabellen på høyre side av sammenføyningen. For radene der det ikke er noen samsvarende rad på høyre side, vil resultatsettet inneholde null . LEFT JOIN er også kjent som LEFT OUTER JOIN.
Syntaks
Syntaksen til LEFT JOIN i SQL er :
SELECT table1.column1,table1.column2,table2.column1,.... FROM table1 LEFT JOIN table2 ON table1.matching_column = table2.matching_column;>
Her,
- tabell 1: Første bord.
- tabell 2 : Andre bord
- matching_column : Felles kolonne for begge tabellene.
Merk : Vi kan også bruke LEFT OUTER JOIN i stedet for LEFT JOIN, begge er like.
LEFT JOIN Eksempel
La oss se på eksemplet med LEFT JOIN-klausulen, og forstå at det fungerer
SELECT Student.NAME,StudentCourse.COURSE_ID FROM Student LEFT JOIN StudentCourse ON StudentCourse.ROLL_NO = Student.ROLL_NO;>
Produksjon :

SQL RIGHT JOIN
HØYRE BLI MED returnerer alle radene i tabellen på høyre side av sammenføyningen og matchende rader for tabellen på venstre side av sammenføyningen. Det ligner veldig på LEFT JOIN For radene der det ikke er noen samsvarende rad på venstre side, resultatsettet vil inneholde null . RIGHT OUTER JOIN er også kjent som RIGHT OUTER JOIN.
Syntaks:
Syntaksen til RIGHT JOIN i SQL er:
SELECT table1.column1,table1.column2,table2.column1,.... FROM table1 RIGHT JOIN table2 ON table1.matching_column = table2.matching_column;>
Her,
- tabell1 : Første bord.
- tabell 2 : Andre bord
- matching_column : Kolonne felles for begge tabellene.
Merk : Vi kan også bruke HØYRE YTRE SKJØT i stedet for RIGHT JOIN, er begge de samme.
pyspark veiledning

RIGHT JOIN Eksempel :
La oss se på eksemplet med RIGHT JOIN-klausulen, og forstå at det fungerer
SELECT Student.NAME,StudentCourse.COURSE_ID FROM Student RIGHT JOIN StudentCourse ON StudentCourse.ROLL_NO = Student.ROLL_NO;>
Produksjon:

SQL FULL MED
FULL MED skaper resultatsettet ved å kombinere resultatene av både LEFT JOIN og RIGHT JOIN. Resultatsettet vil inneholde alle radene fra begge tabellene. For radene som det ikke er samsvar for, vil resultatsettet inneholde NULL verdier.
Syntaks
Syntaksen til SQL FULL JOIN er:
SELECT table1.column1,table1.column2,table2.column1,.... FROM table1 FULL JOIN table2 ON table1.matching_column = table2.matching_column;>
Her,
- tabell1 : Første bord.
- tabell 2 : Andre bord
- matching_column : Felles kolonne for begge tabellene.
FULLKOMMEN Eksempel
La oss se på eksemplet med FULL JOIN-klausul, og forstå at det fungerer
SELECT Student.NAME,StudentCourse.COURSE_ID FROM Student FULL JOIN StudentCourse ON StudentCourse.ROLL_NO = Student.ROLL_NO;>
Produksjon:
| NAVN | COURSE_ID |
|---|---|
| HARDE | 1 erstatte streng i streng java |
| ØVE PÅ | 2 |
| RIYANKA | 2 |
| DYP | 3 |
| SAPTARHI | 1 |
| DHANRAJ | NULL |
| ROHIT | NULL full huggorm sannhetstabell |
| NIRAJ | NULL |
| NULL | 4 |
| NULL | 5 |
| NULL | 4 |
SQL Natural join (?)
Naturlig sammenføyning kan slå sammen tabeller basert på de vanlige kolonnene i tabellene som slås sammen. En naturlig sammenføyning returnerer alle rader ved å matche verdier i vanlige kolonner med samme navn og datatype for kolonner, og den kolonnen skal være til stede i begge tabellene.
Begge tabellene må ha minst én felles kolonne med samme kolonnenavn og samme datatype.
De to tabellene er sammenføyd ved hjelp av Cross join .
DBMS vil se etter en felles kolonne med samme navn og datatype. Tuples med nøyaktig samme verdier i vanlige kolonner beholdes i resultat.
Eksempel på naturlig sammenføyning:
Se på de to tabellene nedenfor - Ansatt og avdeling
| Ansatt | ||
|---|---|---|
| Emp_id | Emp_name | Dept_id |
| 1 | RAM | 10 |
| 2 | Jon | 30 |
| 3 | Bob | femti |
| Avdeling | |
|---|---|
| Dept_id | Dept_name |
| 10 | DEN |
| 30 | HR |
| 40 | TIS |
Problem : Finn alle ansatte og deres respektive avdelinger.
Løsningsspørring : (Ansatt) ? (Avdeling)
| Emp_id | Emp_name | Dept_id | Dept_id | Dept_name |
|---|---|---|---|---|
| 1 | RAM | 10 | 10 | DEN |
| 2 | Jon | 30 | 30 | HR |
| Ansattes data | Avdelingsdata |
Tilleggsressurser
For å lære mer om SQL JOIN kan du prøve å se videoene våre og lese artikler:
Venstre JOIN (video)
Høyre JOIN (video)
Full BLI MEDLEM (video)
SQL | JOIN (Cartesian Join, Self Join)