SQL INNER JOIN (Magyar)

Összefoglaló: ebben az oktatóanyagban megtanulhatja, hogyan kell több táblából adatokat lekérdezni az SQL INNER JOIN utasítás használatával.

Az előző oktatóanyagban megtanulta, hogyan kell egyetlen táblából lekérdezni az adatokat a SELECT utasítással. Gyakran azonban több tábláról szeretne adatokat lekérdezni, hogy teljes elemkészlet legyen az elemzéshez. Adatok lekérdezéséhez több táblából csatlakozási utasításokat használ.

Az SQL többféle összekapcsolást biztosít, például belső illesztést, külső összekapcsolást (bal külső illesztés vagy bal oldali illesztés, jobb külső illesztés vagy jobb illesztés és teljes külső illesztés). ) és önállóan csatlakozzon. Ebben az oktatóanyagban megmutatjuk, hogyan kell használni a INNER JOIN záradékot.

SQL INNER JOIN szintaxis

Az alábbiakban bemutatjuk a INNER JOIN szintaxis két táblázat összekapcsolásához:

1
2
3
4
5

SELECT
oszlop1, oszlop2
FROM
table_1
INNER JOIN tábla_2 ON join_condition;

Vizsgáljuk meg a fenti szintaxist részletesebben:

  • A table_1 és table_2 elemeket összekapcsolt tábláknak nevezzük.
  • Minden sorhoz a table_1 mezőben a lekérdezés megtalálja a table_2 megfelelő sorát, amely megfelel a csatlakozási feltételnek. Ha a megfelelő sor megtalálható, a lekérdezés egy sort ad vissza, amely mindkét tábla adatait tartalmazza. Ellenkező esetben az table_1 következő sorát vizsgálja, és ez a folyamat addig folytatódik, amíg a table_1 összes sorát megvizsgálják.

Több mint két tábla összekapcsolásához ugyanaz a logika érvényes.

SQL INNER JOIN példák

SQL INNER JOIN – adatok lekérdezése két táblából példa

Ebben a példában a products és categories táblákat fogjuk használni a minta adatbázisban. A következő kép az adatbázis diagramját szemlélteti.

A fenti ábrán:

  • Egy kategóriának sok terméke lehet.
  • Egy termék egy és csak egy kategóriába tartozik.

Ezért a táblázat és sorok a products táblázatban. A két tábla közötti kapcsolat a categoryid oszlop.

A következő adatokat kell megkérdeznünk mindkét táblából:

  • productID, productName a products táblából.
  • categoryName a categories táblából.

A következő lekérdezés mindkét táblázatból lekérdezi az adatokat:

1
2
3
4
5
6

SELECT
productID, productName, categoryName
FROM
termékek
BELSŐ CSATLAKOZÁS
kategóriák ON categories.categoryID = products.categoryID;

A csatlakozási feltételt a INNER JOIN záradék határozza meg a ON kulcsszó után kifejezésként:

1

categories.categoryID = products.categoryID

A products tábla, a lekérdezés a categories táblában megtalálja a megfelelő sort, amelynek ugyanaz a categoryid. sora van, ha két sor van egyezésben a mindkét táblázat egy sort ad vissza, amely tartalmazza a SELECT záradékban megadott oszlopokat, azaz a termék azonosítóját, a termék nevét és a kategória nevét; ellenkező esetben ellenőrzi a products táblázat következő sorát, hogy megtalálja a megfelelő sort a categories táblázatban. Ez a folyamat addig folytatódik, amíg a terméktábla utolsó sorát meg nem vizsgálják.

SQL INNER JOIN – adatok lekérdezése három táblából

Ugyanazokat a technikákat használhatjuk három táblázat összekapcsolásához.A következő lekérdezés kiválasztja a következőt: productID, productName, categoryName és supplier a products, categories és suppliers táblákból:

1
2
3
4
5
6
7
8
9
10
11

SELECT
productID,
terméknév,
categoryName,
companyName AS beszállító
FROM
termékek
INNER JOIN
kategóriák ON kategóriák. categoryID = products.categoryID
BELSŐ CSATLAKOZÁS
beszállítók ON beszállítókon.supplierID = products.supplierID

Implicit SQL BELSŐ CSATLAKOZÁS

A INNER JOIN egy másik formája az implicit belső összekapcsolás, az alábbiak szerint:

1
2
3
4
5
6
7

SELECT
oszlop1, oszlop2
FROM
table_1,
table_2
WHERE
join_condition;

Ebben az űrlapban minden egyesített táblázatot megad a FROM záradékot és a put feltétel feltételét az SELECT utasítás WHERE záradékába. A fenti lekérdezési példát az implicit INNER JOIN használatával átírhatjuk a következőképpen:

1
2
3
4
5
6
7

SELECT
productID, productName, categoryName
FROM
termékek,
kategóriák
WHERE
termékek.categoryID = categories.categoryID;

Vizualizálja a Belső Csatlakozás Venn diagram használatával

Write a Comment

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük