CSATLAKOZÁS az SQL Serverhez: oktatóanyag példákkal

A JOIN utasítás segítségével több táblából is lekérhetünk adatokat. Főleg 4 különböző típusú JOINS létezik az SQL szerverben. Megtanulunk minden CSATLAKOZÁST SQL szerver példákkal:

  • BELSŐ CSATLAKOZÁS/egyszerű csatlakozás
  • LEFT OUTER JOIN/LEFT JOIN
  • RIGHT OUTTER JOIN/RIGHT JOIN
  • TELJES KÜLSŐ CSATLAKOZÁS

INNER JOIN

Az ilyen típusú SQL szerver JOIN sorokat ad vissza minden olyan táblából, amelyben az összekapcsolási feltétel igaz. A következő szintaxist veszi igénybe:

SELECT columns
FROM table_1 
INNER JOIN table_2
ON table_1.column = table_2.column;

Ennek bemutatására a következő két táblázatot fogjuk használni:

Tanulói táblázat:

INNER JOIN

Díjtáblázat:

INNER JOIN

A következő parancs egy INNER JOIN-t mutat be az SQL-kiszolgálón példával:

SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid
FROM Students
INNER JOIN Fee
ON Students.admission = Fee.admission

A parancs a következőt adja vissza:

INNER JOIN

Meg tudjuk mondani azoknak a hallgatóknak, akik befizették a tandíjat. Mindkét táblázatban a közös értékeket tartalmazó oszlopot használtuk, ez a felvételi oszlop.

BAL KÜLSŐ CSATLAKOZÁS

Ez a fajta összekapcsolás a bal oldali tábla összes sorát, valamint a jobb oldali tábla rekordjait adja vissza megfelelő értékekkel. Például:

SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid
FROM Students
LEFT OUTER JOIN Fee
ON Students.admission = Fee.admission

A kód a következőt adja vissza:

BAL KÜLSŐ CSATLAKOZÁS

Az egyező értékek nélküli rekordokat NULL-ra cseréljük a megfelelő oszlopokban.

JOBB KÜLSŐ CSATLAKOZÁS

Ez a fajta összekapcsolás a jobb oldali tábla összes sorát adja vissza, és csak azokat, amelyek értéke megegyezik a bal oldali táblázatban. Például:

SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid
FROM Students
RIGHT OUTER JOIN Fee
ON Students.admission = Fee.admission

Az OUTER JOINS SQL szerver utasítása a következőt adja vissza:

JOBB KÜLSŐ CSATLAKOZÁS

A fenti kimenet oka, hogy a Díj tábla összes sora elérhető a Hallgatók táblában, ha a felvételi oszlopban egyezik.

TELJES KÜLSŐ CSATLAKOZÁS

Ez a típusú összekapcsolás mindkét tábla összes sorát NULL értékkel adja vissza, ahol a JOIN feltétel nem igaz. Például:

SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid
FROM Students
FULL OUTER JOIN Fee
ON Students.admission = Fee.admission

A kód a következő eredményt adja vissza a FULL OUTER JOINS lekérdezések esetén SQL:

TELJES KÜLSŐ CSATLAKOZÁS

Foglald össze ezt a bejegyzést a következőképpen: