Co je klíčové slovo LIMIT?
Klíčové slovo limit se používá k omezení počtu řádků vrácených ve výsledku dotazu.
Lze jej použít ve spojení se syntaxí klíčových slov příkazy SELECT, UPDATE NEBO DELETE
Syntaxe klíčového slova LIMIT je následující
SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N;
TADY
- „SELECT {fieldname (s) | *} FROM tableName (s)“ je příkaz SELECT obsahující pole, která bychom chtěli vrátit v našem dotazu.
- „[WHERE podmínka]“ je volitelná, ale pokud je zadána, lze ji použít k určení filtru v sadě výsledků.
- „LIMIT N“ je klíčové slovo a N je libovolné číslo začínající od 0, hodnota 0 jako limit nevrací žádné záznamy v dotazu. Pokud dáte číslo, řekněme 5, vrátí se pět záznamů. Pokud jsou záznamy v zadané tabulce menší než N, vrátí se všechny záznamy z dotazované tabulky v sadě výsledků.
Podívejme se na pří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 |
Jak vidíte na výše uvedeném snímku obrazovky, byli vráceni pouze dva členové.
Získání seznamu deseti (10) členů pouze z databáze
Předpokládejme, že chceme získat seznam prvních 10 registrovaných členů z databáze Myflix. K dosažení tohoto cíle bychom použili následující skript.
SELECT * FROM members LIMIT 10;
Provedení výše uvedeného skriptu nám poskytne výsledky uvedené níže
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 |
Poznámka: v našem dotazu bylo vráceno pouze 9 členů, protože N v klauzuli LIMIT je větší než počet celkových záznamů v naší tabulce.
Přepište výše uvedený skript následujícím způsobem
SELECT * FROM members LIMIT 9;
Vrací pouze 9 řádků v naší sadě výsledků dotazu.
Použití OFF SET v dotazu LIMIT
Hodnota OFF SET se také nejčastěji používá společně s klíčovým slovem LIMIT. Hodnota OFF SET nám umožňuje určit, který řádek má začít od načítání dat
Předpokládejme, že chceme získat omezený počet členů počínaje od středu řádků, abychom toho dosáhli, můžeme použít klíčové slovo LIMIT společně s hodnotou offsetu. Skript zobrazený níže získá data od druhého řádku a omezí výsledky na 2.
SELECT * FROM `members` LIMIT 1, 2;
Provedení výše uvedeného skriptu v pracovní ploše MySQL proti myflixdb poskytuje následující 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 |
Kdy bychom měli použít klíčové slovo LIMIT?
Předpokládejme, že vyvíjíme aplikaci, která běží nad myflixdb. Náš návrhář systému nás požádal, abychom omezili počet záznamů zobrazených na stránce, abychom řekli 20 záznamů na stránku, abychom zabránili pomalému načítání. Jak postupujeme při zavádění systému, který splňuje takové požadavky uživatelů? V takových situacích se klíčové slovo LIMIT hodí. Byli bychom schopni omezit výsledky vrácené z dotazu pouze na 20 záznamů na stránku.
souhrn
- Klíčové slovo LIMIT of se používá k omezení počtu řádků vrácených ze sady výsledků.
- LIMITNÍ číslo může být libovolné číslo od nuly (0) směřující nahoru. Když je jako limit zadána nula (0), ze sady výsledků se nevrátí žádné řádky.
- Hodnota OFF SET nám umožňuje určit, který řádek má začít od načítání dat
- Lze jej použít ve spojení se syntaxí klíčových slov příkazy SELECT, UPDATE NEBO DELETE