SQL - Inner join
Az INNER JOIN visszatér a sorba, ha van legalább egy megyeggyező mindkét táblában.
Sql inner join szintaxis:
SELECT oszlop_név
FROM tábla_név1
INNER JOIN tábla_név2
ON tábla_név1.oszlop_név=tábla_név2.oszlop_név
Sql inner join példa:
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ések" táblázat:
| 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 azokat szeretnénk felsorolni, akik bármilyen rendelést bonyolítottak le.
Kód:
SELECT személy.vezetéknév, személy.keresztnév, rendelés.rendelési_szám
FROM személy
INNER JOIN rendelések
ON személy.személy_azonosító=rendelés.azonosító
ORDER BY személy.keresztnév
A megoldás kiírás szerint:
| 1 | 23415 | 3 |
| 2 | 22341 | 2 |
| 3 | 20210 | 3 |
| 4 | 12340 | 2 |
Az inner join visszaadja azokat az értékeket amelyek egyeznek, de azon találatokat amik valamely feltételnek nem felelnek meg nem kerülnek kiíratásra.
Kód:
SELECT személy.vezetéknév, személy.keresztnév, rendelés.rendelés_szám
FROM személy
INNER JOIN rendelés
ON személy.személy_azonosító=rendelés.személy_azonosító
ORDER BY személy.vezetéknév
| István | Tóth | 22341 |
| István | Tóth | 12340 |
| Viola | Kiss | 23415 |
| Viola | Kiss | 20210 |