Čo je kľúčové slovo LIMIT?
Kľúčové slovo limit sa používa na obmedzenie počtu riadkov vrátených vo výsledku dotazu.
Môže byť použitý v spojení so syntaxou kľúčových slov LIMIT, UPDATE alebo DELETE
Syntax kľúčového slova LIMIT je nasledovná
SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N;
TU
- „SELECT {fieldname (s) | *} FROM tableName (s)“ je príkaz SELECT obsahujúci polia, ktoré by sme chceli vrátiť v našom dotaze.
- „[WHERE condition]“ je voliteľné, ale ak je zadané, je možné ho použiť na určenie filtra v sade výsledkov.
- „LIMIT N“ je kľúčové slovo a N je ľubovoľné číslo začínajúce od 0, hodnota 0 preto, že limit nevráti v dotaze žiadne záznamy. Ak dáte číslo povedzme 5, vráti sa päť záznamov. Ak sú záznamy v zadanej tabuľke menšie ako N, potom sa všetky záznamy z dotazovanej tabuľky vrátia do množiny výsledkov.
Pozrime sa na príklad -
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 |
Ako vidíte na snímke vyššie, vrátili sa iba dvaja členovia.
Získanie zoznamu desiatich (10) členov iba z databázy
Predpokladajme, že chceme získať zoznam prvých 10 registrovaných členov z databázy Myflix. Použili by sme na to nasledujúci skript.
SELECT * FROM members LIMIT 10;
Vykonanie vyššie uvedeného skriptu nám poskytne výsledky uvedené nižšie
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 |
Upozorňujeme, že v našom dotaze bolo vrátených iba 9 členov, pretože N v klauzule LIMIT je väčšie ako počet celkových záznamov v našej tabuľke.
Vyššie uvedený skript prepíšete nasledujúcim spôsobom
SELECT * FROM members LIMIT 9;
Vracia iba 9 riadkov v našej sade výsledkov dotazu.
Použitie OFF SET v dotaze LIMIT
Hodnota OFF SET sa tiež najčastejšie používa spolu s kľúčovým slovom LIMIT. Hodnota OFF SET nám umožňuje určiť, ktorý riadok má začať od načítania údajov
Predpokladajme, že chceme získať obmedzený počet členov počnúc stredom riadkov, môžeme na to použiť kľúčové slovo LIMIT spolu s hodnotou offsetu. Skript uvedený nižšie získava údaje začínajúce v druhom riadku a výsledky obmedzuje na 2.
SELECT * FROM `members` LIMIT 1, 2;
Vykonanie vyššie uvedeného skriptu v pracovnom stole MySQL proti myflixdb poskytuje nasledujúce výsledky.
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 |
Kedy by sme mali použiť kľúčové slovo LIMIT?
Predpokladajme, že vyvíjame aplikáciu, ktorá beží nad myflixdb. Náš návrhár systému nás požiadal, aby sme obmedzili počet záznamov zobrazených na stránke, aby sme povedali 20 záznamov na stránku, aby sme zabránili pomalým časom načítania. Ako postupujeme pri zavádzaní systému, ktorý spĺňa tieto požiadavky používateľov? V takýchto situáciách sa hodí kľúčové slovo LIMIT. Boli by sme schopní obmedziť výsledky vrátené z dotazu iba na 20 záznamov na stránku.
Zhrnutie
- Kľúčové slovo LIMIT z sa používa na obmedzenie počtu riadkov vrátených z množiny výsledkov.
- LIMITNÉ číslo môže byť akékoľvek číslo od nuly (0) smerom nahor. Keď je ako limit zadaná nula (0), z množiny výsledkov sa nevrátia žiadne riadky.
- Hodnota OFF SET nám umožňuje určiť, ktorý riadok má začať od načítania údajov
- Môže byť použitý v spojení so syntaxou kľúčových slov LIMIT, UPDATE alebo DELETE