Az SQL SELECT DISTINCT záradék használata (Adatbázis-lekérdezések utasításai példákkal)

Ebben az SQL leckében a SELECT DISTINCT-tel fogunk foglalkozni, melynek a neve is jól mutatja, hogy a SELECT utasításhoz van köze.

SQL alapok kezdőknek, SQL ismeretek kurzus borítókép

Az SQL SELECT DISTINCT záradék használata (Adatbázis-lekérdezések utasításai példákkal)

Ebben az SQL leckében a SELECT DISTINCT-tel fogunk foglalkozni, melynek a neve is jól mutatja, hogy a SELECT utasításhoz van köze.

Mi az a SELECT DISTINCT?

A SELECT DISTINCT utasítást ugyanúgy a lekérdezések megalkotásához használjuk, mint a SELECT-et, azzal a különbséggel, hogy a SELECT DISTINCT csak a különböző, azaz egyedi, eltérő értékeket ad vissza.

Egy adatbázistáblában gyakran előfordul, hogy redundáns, azaz duplikált, ismétlődő tartalom található. Ha ezt a redundanciát nem tudjuk megszüntetni vagy nem akarjuk, akkor lehetőségünk van a lekérdezések során olyan lekérdező utasítást használni, amely automatikusan kiszűri az ismétlődő adatokat.

A SELECT DISTINCT szintaxisa

SELECT DISTINCT oszlop(ok)
FROM tábla;
Code language: SQL (Structured Query Language) (sql)

A fenti kódrészletben nekünk valójában csak az első sor az érdekes. A SELECT DISTINCT után megadjuk azt vagy azokat az oszlopokat, amelyek esetében egyediséget szeretnénk. Ha több mezőt vagy oszlopot adunk meg, akkor csak abban az esetben fog két rekordot azonosnak tekinteni, ha az összes kiválasztott oszlop értéke megegyezik. Nézzünk egy példát erre vonatkozólag.

SELECT DISTINCT példák

Lentebb kettő példán keresztül mutatjuk be a SELECT DISTINCT működését, az első példában csak egyetlen egy oszlopot fogunk górcső alá venni, míg a másodikban már többet is.

Példa #1: SELECT DISTINCT egy mező esetében

Az első példában látni fogjuk, hogy a SELECT DISTINCT-nek csak egyetlen egy mezőt adtunk meg, a vezetéknevet. A táblában kettő Lakatos van, de mivel nekünk csak az egyedi vezetéknevek kellenek, így csak egyszer kerül majd kilistázásra.

vasarlok tábla

vezeteknevkeresztnevlakhelyszuletesi_ev
HorváthTamásBudapest1989
LakatosDezsőDebrecen1961
LosoncziLénaNyíregyháza2005
BaloghBeatrixMiskolc1985
KovácsIstvánBudapest1957
LakatosBoldizsárDebrecen2009

SQL lekérdezés

SELECT DISTINCT vezeteknev
FROM vasarlok
Code language: SQL (Structured Query Language) (sql)

Eredmény

vezetéknév
Horváth
Lakatos
Losonczi
Balogh
Kovács

Példa #2: SELECT DISTINCT több mező esetében

Ebben a példában pedig kettő mezőt adunk meg a SELECT DISTINCT után, szóval csak abban az esetben nem fog valami ismételten kilistázásra kerülni, hogy ha a vezetéknév és a keresztnév is teljesmértékben megegyezik. Ha ezen két mező közül csak az egyik egyezik, akkor ugyanúgy megjelenik a lekérdezés eredményében.

vasarlok tábla

vezeteknevkeresztnevlakhelyszuletesi_ev
HorváthTamásBudapest1989
LakatosDezsőDebrecen1961
LosoncziLénaNyíregyháza2005
BaloghBeatrixMiskolc1985
KovácsIstvánBudapest1957
LakatosBoldizsárDebrecen2009

SQL lekérdezés

SELECT DISTINCT vezeteknev, keresztnev
FROM vasarlok
Code language: SQL (Structured Query Language) (sql)

Eredmény

vezeteknevkeresztnev
HorváthTamás
LakatosDezső
LosoncziLéna
BaloghBeatrix
KovácsIstván
LakatosBoldizsár

Ha hasznos volt számodra, akkor kérlek oszd meg másokkal is, hogy ezzel támogass minket!