Mi a LIMIT kulcsszó?
A limit kulcsszó korlátozza a lekérdezés eredményében visszaadott sorok számát.
A SELECT, UPDATE OR DELETE parancsokkal együtt használható a LIMIT kulcsszó szintaxisa
A LIMIT kulcsszó szintaxisa a következő
SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N;
ITT
- A "SELECT {fieldname (s) | *} FROM tableName (s)" a SELECT utasítás, amely azokat a mezőket tartalmazza, amelyeket vissza szeretnénk adni a lekérdezésünkben.
- A "[WHERE feltétel]" opcionális, de ha van, akkor felhasználható szűrő megadására az eredményhalmazon.
- A "LIMIT N" a kulcsszó, és N tetszőleges szám 0-tól kezdődően, 0-t adva, mivel a határérték nem ad vissza rekordokat a lekérdezésben. Ha egy 5-ös számot tesz, öt rekordot ad vissza. Ha a megadott táblázatban szereplő rekordok kisebbek, mint N, akkor a lekérdezett táblázat összes rekordját az eredményhalmaz adja vissza.
Nézzünk meg egy példát -
SELECT * FROM members LIMIT 2;
membership_ number | full_ names | gender | date_of _birth | date_of _registration | physical_ address | postal_ address | contact_ number | credit_ card_ number | |
---|---|---|---|---|---|---|---|---|---|
1 | Janet Jones | Female | 21-07-1980 | NULL | First Street Plot No 4 | Private Bag | 0759 253 542 | This email address is being protected from spambots. You need JavaScript enabled to view it. | NULL |
2 | Janet Smith Jones | Female | 23-06-1980 | NULL | Melrose 123 | NULL | NULL | This email address is being protected from spambots. You need JavaScript enabled to view it. | NULL |
Amint a fenti képernyőképen látható, csak két tagot adtak vissza.
Csak tíz (10) tagból álló lista beszerzése az adatbázisból
Tegyük fel, hogy szeretnénk megszerezni az első 10 regisztrált tag listáját a Myflix adatbázisból. Ennek eléréséhez a következő szkriptet használnánk.
SELECT * FROM members LIMIT 10;
A fenti parancsfájl végrehajtásával az alább látható eredményeket kapjuk
membership_ number | full_ names | gender | date_of _birth | date_of _registration | physical_ address | postal_ address | contact_ number | credit_ card_ number | |
---|---|---|---|---|---|---|---|---|---|
1 | Janet Jones | Female | 21-07-1980 | NULL | First Street Plot No 4 | Private Bag | 0759 253 542 | This email address is being protected from spambots. You need JavaScript enabled to view it. | NULL |
2 | Janet Smith Jones | Female | 23-06-1980 | NULL | Melrose 123 | NULL | NULL | This email address is being protected from spambots. You need JavaScript enabled to view it. | NULL |
3 | Robert Phil | Male | 12-07-1989 | NULL | 3rd Street 34 | NULL | 12345 | This email address is being protected from spambots. You need JavaScript enabled to view it. | NULL |
4 | Gloria Williams | Female | 14-02-1984 | NULL | 2nd Street 23 | NULL | NULL | NULL | NULL |
5 | Leonard Hofstadter | Male | NULL | NULL | Woodcrest | NULL | 845738767 | NULL | NULL |
6 | Sheldon Cooper | Male | NULL | NULL | Woodcrest | NULL | 976736763 | NULL | NULL |
7 | Rajesh Koothrappali | Male | NULL | NULL | Woodcrest | NULL | 938867763 | NULL | NULL |
8 | Leslie Winkle | Male | 14-02-1984 | NULL | Woodcrest | NULL | 987636553 | NULL | NULL |
9 | Howard Wolowitz | Male | 24-08-1981 | NULL | SouthPark | P.O. Box 4563 | 987786553 | lwolowitz[at]email.me | NULL |
Vegye figyelembe, hogy csak 9 tag érkezett vissza a lekérdezésünkbe, mivel a LIMIT záradékban szereplő N nagyobb, mint a táblázatban szereplő összes rekord száma.
Írja újra a fenti szkriptet az alábbiak szerint
SELECT * FROM members LIMIT 9;
Csak 9 sort ad vissza a lekérdezés eredményhalmazában.
Az OFF SET használata a LIMIT lekérdezésben
Az OFF SET értéket szintén leggyakrabban a LIMIT kulcsszóval együtt használják. Az OFF SET érték lehetővé teszi számunkra, hogy meghatározzuk, melyik sort kezdjük az adatok lekérésével
Tegyük fel, hogy korlátozott számú tagot akarunk szerezni a sorok közepétől kezdve, ennek eléréséhez használhatjuk a LIMIT kulcsszót az eltolás értékével együtt. Az alább látható szkript a második sortól kezdve kap adatokat, és az eredményeket 2-re korlátozza.
SELECT * FROM `members` LIMIT 1, 2;
A fenti parancsfájl futtatása a MySQL munkapadban a myflixdb fájlhoz a következő eredményeket adja.
membership_ number | full_ names | gender | date_of _birth | date_of _registration | physical_ address | postal_ address | contact_ number | credit_ card_ number | |
---|---|---|---|---|---|---|---|---|---|
2 | Janet Smith Jones | Female | 23-06-1980 | NULL | Melrose 123 | NULL | NULL | This email address is being protected from spambots. You need JavaScript enabled to view it. | NULL |
3 | Robert Phil | Male | 12-07-1989 | NULL | 3rd Street 34 | NULL | 12345 | This email address is being protected from spambots. You need JavaScript enabled to view it. | NULL |
Mikor használjuk a LIMIT kulcsszót?
Tegyük fel, hogy a myflixdb tetején futó alkalmazást fejlesztjük. Rendszertervezőnk arra kért minket, hogy korlátozzuk az oldalon megjelenített rekordok számát, mondjuk oldalanként 20 rekordot a lassú betöltési idők ellensúlyozására. Hogyan járhatunk el az ilyen felhasználói követelményeknek megfelelő rendszer bevezetésével? A LIMIT kulcsszó jól jön ilyen helyzetekben. A lekérdezésből visszaküldött eredményeket csak oldalanként 20 rekordra korlátozhatnánk.
Összegzés
- A (z) LIMIT kulcsszó korlátozza az eredményhalmazból visszaküldött sorok számát.
- A LIMIT szám bármely szám lehet nullától (0) felfelé haladva. Ha nulla (0) van megadva határértékként, az eredményhalmazból egyetlen sor sem jelenik meg.
- Az OFF SET érték lehetővé teszi számunkra, hogy meghatározzuk, melyik sort kezdjük az adatok lekérésével
- A SELECT, UPDATE OR DELETE parancsokkal együtt használható a LIMIT kulcsszó szintaxisa