SQL JOIN (Magyar)

Hogyan szerezhetek adatokat több táblából?

Az SQL JOIN két tábla rekordjait kombinálja.
A JOIN a kapcsolódó oszlopértékeket keresi a két táblázatban.
A lekérdezés tartalmazhat nulla, egy vagy több JOIN műveletet.
A BELSŐ CSATLAKOZÁS ugyanaz, mint a CSATLAKOZÁS; a INNER kulcsszó nem kötelező.

Négy különböző típusú JOIN

  1. (INNER) JOIN: Rekordok kiválasztása amelyek mindkét táblában egyeznek az értékekkel.
  2. FULL (OUTER) JOIN: Kiválasztja az összes olyan rekordot, amely egyezik a bal vagy a jobb oldali táblázat rekordjaival.
  3. LEFT (OUTER) JOIN: Válasszon rekordokat a első (bal oldali) tábla megfelelő jobb tábla rekordokkal.
  4. JOBB (KÜLSŐ) CSATLAKOZÁS: Válasszon rekordokat a második (jobb oldali) táblából, megfelelő bal oldali táblázatrekordokkal.

Megjegyzés: Minden INNER és OUTER kulcsszó választható.
A különböző JOIN-ok részletei a következő oktatóoldalakon érhetők el.

Az SQL JOIN szintaxis

Az általános szintaxis

SELECT column-names FROM table-name1 JOIN table-name2 ON column-name1 = column-name2 WHERE condition

Az INNER általános szintaxisa:

SELECT column-names FROM table-name1 INNER JOIN table-name2 ON column-name1 = column-name2 WHERE condition

Megjegyzés: Az INNER kulcsszó nem kötelező: ez az alapértelmezett és a leggyakrabban használt JOIN művelet.

ÜGYFEL

Id

Firs tNév

Vezetéknév

Város

Ország

Telefon

ORDER

Id

OrderDate

OrderNumber

CustomerId

TotalAmount

SQL JOIN példák

Probléma: Az összes megrendelés felsorolása az ügyféladatokkal

Ebben a példában az Aliases for és az Customer használatával hasznos lehet.

Eredmény: 830 rekord.
Rendelési szám TotalAmount keresztnév vezetéknév város ország
542378 440,00 Paul Henriot Reims Franciaország
542379 1863.40 Karin Josephs Münster Németország
542380 1813.00 Mario Pontes Rio de Janeiro Brazília
542381 670.80 Mary Saveley Lyon Franciaország
542382 3730.00 Pascale Cartrain Charleroi Belgium
542383 1444.80 Mario Pontes Rio de Janeiro Brazília
542384 625,20 Yang Wang Bern Svájc

TERMÉK

Id

Terméknév

SzállítóId

UnitPrice

Csomag

IsDiscontinued

ORDERITEM

Id

OrderId

ProductId

UnitPrice

Mennyiség

RENDELÉS

Id

OrderDate

OrderNumber

CustomerId

TotalAmount

Probléma: Sorolja fel az összes megrendelést
terméknévvel,
mennyiségek és árak
Ez a lekérdezés két JOIN műveletet hajt végre 3 táblával.
Az O, I és P táblázataliasok . A Dátum egy oszlop Alias.
Eredmény: 2155 rekord

Vélemény, hozzászólás?

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