SQL - A TOP szakasz
Nem minden adatbázis rendszer támogatja a TOP záradékot. A TOP záradék nagyon hasznos lehet nagy akár több ezer rekordból álló táblázatoknál.
SQL Server szintaxis:
| SELECT TOP szám/százalék oszlop_név FROM tábla_név |
Az SQL SELECT egyenértékű a Mysql és az Oracle-el:
My sql szintaxis:
| SELECT oszlop_név FROM tábla_név LIMIT szám |
Példa:
| SELECT * FROM Személyek LIMIT 3 |
Oracle szintaxis
| SELECT oszlop_név FROM tábla_név WHERE sor szám (ROWNUM) <= szám |
Példa
| SELECT * FROM Személyek WHERE sor szám (ROWNUM) <=5 |
SQL TOP példa:
A "személy" táblázat:
| 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 |
Most csak az első két feéjegyzést szeretnénk a fenti táblázatból kiválasztani.
Kód:
| SELECT TOP 2 * FROM Persons |
A kiírás szerint:
| 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 | Debrece |
SQL TOP PERCENT példa:
A "személy" táblázat:
| 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 |
Most azt szeretnénk elérni, hogy a fenti táblázat 50% jelenjen meg.
Kód:
| SELECT TOP 50% (PERCENT )* FROM Személy |
Kiírás szerint:
| 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 | Debrece |