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
- (INNER) JOIN: Rekordok kiválasztása amelyek mindkét táblában egyeznek az értékekkel.
- FULL (OUTER) JOIN: Kiválasztja az összes olyan rekordot, amely egyezik a bal vagy a jobb oldali táblázat rekordjaival.
- LEFT (OUTER) JOIN: Válasszon rekordokat a első (bal oldali) tábla megfelelő jobb tábla rekordokkal.
- 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.
Id
Firs tNév
Vezetéknév
Város
Ország
Telefon
Id
OrderDate
OrderNumber
CustomerId
TotalAmount
SQL JOIN példák
Ebben a példában az Aliases for és az Customer használatával hasznos lehet.
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 |
Id
Terméknév
SzállítóId
UnitPrice
Csomag
IsDiscontinued
Id
OrderId
ProductId
UnitPrice
Mennyiség
Id
OrderDate
OrderNumber
CustomerId
TotalAmount
terméknévvel,
mennyiségek és árak
Az O, I és P táblázataliasok . A Dátum egy oszlop Alias.