SQL - Bal join

A Left Join kulcsszóval visszatérhetünk a bal oldali táblázatba(tábla_név1), még akkor is ha a jobb oldali táblázattal nincs is eggyezés(tábla_név2). Arra is van lehetőségünk, hogy az első tábla minden adatát megjelenítsük az eredményben, attól függetlenül, hogy nincs a feltételben megadott tulajdonságú mező a második táblában.

Sql Left Join szintaxis:

SELECT oszlop_név
FROM tábla_név1
LEFT JOIN tábla_név2
ON tábla_név1.oszlop_név=tábla_név2.oszlop_név

A "személy" táblázat:

személy_azonosító keresztnév vezetéknév cím város
1 Péter Kovács Albert út 2 Budapest
2 István Tóth Iskola út 34 Debrecen
3 Viola Kiss Kiskörút út 12 Kisköre
4 Aranka Török Széchenyi út 36 Siófok

A "rendelés" tábla:

rendelés_azonosító rendelés_szám személy_azonosító
1 23415 3
2 22341 2
3 20210 3
4 12340 2
5 85275 23

Most kiszeretnénk íratni az összes személyt, rendelést és azokat is akik nem rendeltek semmit de a személy táblázatban viszont szerepel.

Kód:

SELECT személy.vezetéknév, személy.keresztnév, rendelés.rendelés_azonosító
FROM személy
LEFT JOIN rendelés
ON személy.személy_azonosító=rendelés.rendelés_azonosító
ORDER BY személy.keresztnév

A megoldás kiírás szerint:

István Tóth 22341
István Tóth 12340
Viola Kiss 23415
Viola Kiss 20210
Péter Kovács
Aranka Török

A hozzászólás csak a regisztrált és bejelentkezett tagok számára engedélyezett!

Oldalainkat 35 vendég böngészi
Látogatóink száma: 2010.07.10 -től