SQL-join bewerking combineert gegevens of rijen uit twee of meer tabellen op basis van een gemeenschappelijk veld daartussen.
In dit artikel zullen we meer te weten komen Sluit zich aan bij SQL, over JOIN-typen, syntaxis en voorbeelden.
SQL-join
De SQL JOIN-clausule wordt gebruikt om gegevens uit meerdere tabellen op te vragen en te openen door logische relaties daartussen tot stand te brengen. Het heeft tegelijkertijd toegang tot gegevens uit meerdere tabellen met behulp van gemeenschappelijke sleutelwaarden die over verschillende tabellen worden gedeeld.
We kunnen SQL JOIN gebruiken met meerdere tabellen. Het kan ook worden gecombineerd met andere clausules; het meest populaire gebruik is het gebruik van JOIN with WHERE-clausule om het ophalen van gegevens te filteren.
SQL JOIN-voorbeeld
Beschouw de twee onderstaande tabellen als volgt:
Student:
Studentencursus :

Beide tabellen zijn verbonden door één gemeenschappelijke sleutel (kolom), namelijk ROLL_NO.
We kunnen een JOIN-bewerking uitvoeren met behulp van de gegeven SQL-query:
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;>
Uitgang:
| ROLL_NO | NAAM | ADRES | TELEFOON | LEEFTIJD | CURSUS ID |
| 1 | WREED | DELHI | XXXXXXXXX | 18 | 1 |
| 2 | OEFENING | BIHAR | XXXXXXXXX | 19 | 2 |
| 3 | RIYANKA | SILGURI | XXXXXXXXX | twintig | 2 |
| 4 | DIEP | RAMNAGAR | XXXXXXXXX | 18 | 3 |
| 5 | SAPTARHI | KOLKATA | XXXXXXXXX | 19 | 1 |
Typen JOIN in SQL
Er zijn veel soorten joins in SQL. Afhankelijk van het gebruiksscenario kunt u verschillende typen SQL JOIN-clausule gebruiken. Dit zijn de veelgebruikte SQL JOIN-typen:
- BINNENSTE VERBINDING
- LINKS AANMELDEN
- RECHTS MOETEN
- VOLLEDIG DEELNEMEN
- NATUURLIJKE MOEITE
SQL INNER JOIN
De BINNENSTE VERBINDING trefwoord selecteert alle rijen uit beide tabellen, zolang aan de voorwaarde wordt voldaan. Dit trefwoord creëert de resultatenset door alle rijen uit beide tabellen te combineren waar aan de voorwaarde voldoet, d.w.z. de waarde van het gemeenschappelijke veld zal hetzelfde zijn.
Syntaxis :
De syntaxis voor SQL INNER JOIN is:
SELECT table1.column1,table1.column2,table2.column1,.... FROM table1 INNER JOIN table2 ON table1.matching_column = table2.matching_column;>
Hier,
- tafel 1 : Eerste tafel.
- tafel 2 : Tweede tafel
- overeenkomende_kolom : kolom die gemeenschappelijk is voor beide tabellen.
Opmerking : We kunnen ook JOIN schrijven in plaats van INNER JOIN. JOIN is hetzelfde als INNER JOIN.

INNER JOIN Voorbeeld
Laten we eens kijken naar het voorbeeld van de INNER JOIN-clausule en begrijpen dat deze werkt.
Deze zoekopdracht toont de namen en leeftijden van studenten die voor verschillende cursussen zijn ingeschreven.
SELECT StudentCourse.COURSE_ID, Student.NAME, Student.AGE FROM Student INNER JOIN StudentCourse ON Student.ROLL_NO = StudentCourse.ROLL_NO;>
Uitvoer :

mama kulkarni
SQL LINKS JOIN
LEFT JOIN retourneert alle rijen van de tabel aan de linkerkant van de join en matcht rijen voor de tabel aan de rechterkant van de join. Voor de rijen waarvoor er geen overeenkomende rij aan de rechterkant is, zal de resultatenset het volgende bevatten nul . LEFT JOIN wordt ook wel LEFT OUTER JOIN genoemd.
Syntaxis
De syntaxis van LEFT JOIN in SQL is :
SELECT table1.column1,table1.column2,table2.column1,.... FROM table1 LEFT JOIN table2 ON table1.matching_column = table2.matching_column;>
Hier,
- tafel 1: Eerste tafel.
- tafel 2 : Tweede tafel
- overeenkomende_kolom : kolom die gemeenschappelijk is voor beide tabellen.
Opmerking : We kunnen ook LEFT OUTER JOIN gebruiken in plaats van LEFT JOIN, beide zijn hetzelfde.
LINKS JOIN Voorbeeld
Laten we eens kijken naar het voorbeeld van de LEFT JOIN-clausule en begrijpen dat deze werkt
SELECT Student.NAME,StudentCourse.COURSE_ID FROM Student LEFT JOIN StudentCourse ON StudentCourse.ROLL_NO = Student.ROLL_NO;>
Uitvoer :

SQL RECHTS JOIN
RECHTS MOETEN retourneert alle rijen van de tabel aan de rechterkant van de join en overeenkomende rijen voor de tabel aan de linkerkant van de join. Het lijkt erg op LEFT JOIN. Voor de rijen waarvoor er geen overeenkomende rij aan de linkerkant is, de resultatenset zal bevatten nul . RIGHT JOIN wordt ook wel RIGHT OUTER JOIN genoemd.
Syntaxis:
De syntaxis van RIGHT JOIN in SQL is:
SELECT table1.column1,table1.column2,table2.column1,.... FROM table1 RIGHT JOIN table2 ON table1.matching_column = table2.matching_column;>
Hier,
- tafel 1 : Eerste tafel.
- tafel 2 : Tweede tafel
- overeenkomende_kolom : kolom die gemeenschappelijk is voor beide tabellen.
Opmerking : Wij kunnen ook gebruiken RECHTER BUITENKOM in plaats van RIGHT JOIN zijn beide hetzelfde.

RECHTS JOIN Voorbeeld :
Laten we eens kijken naar het voorbeeld van de RIGHT JOIN-clausule en begrijpen dat deze werkt
SELECT Student.NAME,StudentCourse.COURSE_ID FROM Student RIGHT JOIN StudentCourse ON StudentCourse.ROLL_NO = Student.ROLL_NO;>
Uitgang:

SQL VOLLEDIGE JOIN
VOLLEDIG DEELNEMEN creëert de resultatenset door de resultaten van zowel LEFT JOIN als RIGHT JOIN te combineren. De resultatenset bevat alle rijen uit beide tabellen. Voor de rijen waarvoor geen overeenkomst bestaat, zal de resultatenset het volgende bevatten NUL waarden.
Syntaxis
De syntaxis van SQL FULL JOIN is:
SELECT table1.column1,table1.column2,table2.column1,.... FROM table1 FULL JOIN table2 ON table1.matching_column = table2.matching_column;>
Hier,
- tafel 1 : Eerste tafel.
- tafel 2 : Tweede tafel
- overeenkomende_kolom : kolom die gemeenschappelijk is voor beide tabellen.
FULL JOIN Voorbeeld
Laten we eens kijken naar het voorbeeld van de FULL JOIN-clausule en begrijpen dat deze werkt
SELECT Student.NAME,StudentCourse.COURSE_ID FROM Student FULL JOIN StudentCourse ON StudentCourse.ROLL_NO = Student.ROLL_NO;>
Uitgang:
| NAAM | CURSUS ID |
|---|---|
| WREED | 1 |
| OEFENING | 2 |
| RIYANKA | 2 |
| DIEP | 3 |
| SAPTARHI | 1 |
| DHANRAJ | NUL |
| ROHIT | NUL |
| NIRAJ | NUL |
| NUL | 4 |
| NUL | 5 |
| NUL | 4 |
SQL Natural join (?)
Met natuurlijke join kunnen tabellen worden samengevoegd op basis van de gemeenschappelijke kolommen in de tabellen die worden samengevoegd. Een natuurlijke join retourneert alle rijen door waarden te matchen in gemeenschappelijke kolommen met dezelfde naam en gegevenstype van kolommen en die kolom moet aanwezig zijn in beide tabellen.
Beide tabellen moeten ten minste één gemeenschappelijke kolom hebben met dezelfde kolomnaam en hetzelfde gegevenstype.
De twee tabellen worden samengevoegd met behulp van Kruis samenvoegen .
DBMS zoekt naar een gemeenschappelijke kolom met dezelfde naam en hetzelfde gegevenstype. Tuples met exact dezelfde waarden in gemeenschappelijke kolommen worden in het resultaat bewaard.
Natuurlijke verbinding Voorbeeld:
Kijk naar de twee onderstaande tabellen: Medewerker en Afdeling
| Medewerker | ||
|---|---|---|
| Emp_id | Emp_naam | Afdeling_id |
| 1 | Ram | 10 |
| 2 | Jon | 30 |
| 3 | Bob | vijftig |
| Afdeling | |
|---|---|
| Afdeling_id | Afdelingsnaam |
| 10 | HET |
| 30 | HR |
| 40 | TIS |
Probleem : Vind alle medewerkers en hun respectievelijke afdelingen.
Oplossingsvraag : (Medewerker) ? (Afdeling)
| Emp_id | Emp_naam | Afdeling_id | Afdeling_id | Afdelingsnaam |
|---|---|---|---|---|
| 1 | Ram | 10 | 10 | HET |
| 2 | Jon | 30 | 30 | HR |
| Gegevens van medewerkers | Afdelingsgegevens |
Aanvullende bronnen
Voor meer informatie over SQL JOIN kunt u onze video's bekijken en artikelen lezen:
Links JOIN (Video)
Rechter JOIN (Video)
Volledige deelname (video)
SQL | JOIN (Cartesiaanse join, zelf join)