logo

SQL-koblinger (indre, venstre, høyre og full sammenføyning)

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:

studentbord Studentkurs :

kurstabell

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.

sql inner join visuell representasjon

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 inner join eksempel utgang

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.

Venstre_Bli med

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 left join eksempel utgang

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

sql right join visuell representasjon

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:

høyre join eksempel utgang

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.

Full_Bli med

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)