Что такое ключевое слово LIMIT?
Ключевое слово limit используется для ограничения количества строк, возвращаемых в результате запроса.
Его можно использовать вместе с командами SELECT, UPDATE OR DELETE. Синтаксис ключевого слова LIMIT.
Синтаксис ключевого слова LIMIT следующий
SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N;
ЗДЕСЬ
- «SELECT {fieldname (s) | *} FROM tableName (s)» - это оператор SELECT, содержащий поля, которые мы хотели бы вернуть в нашем запросе.
- «[WHERE condition]» является необязательным, но если указано, его можно использовать для указания фильтра в наборе результатов.
- «LIMIT N» - это ключевое слово, а N - любое число, начинающееся с 0, при этом 0, поскольку ограничение не возвращает никаких записей в запросе. Ввод числа, скажем, 5, вернет пять записей. Если записей в указанной таблице меньше N, то все записи из запрошенной таблицы возвращаются в наборе результатов.
Давайте посмотрим на пример -
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 |
Как видно из приведенного выше снимка экрана, было возвращено только два члена.
Получение списка из десяти (10) участников только из базы данных
Предположим, мы хотим получить список первых 10 зарегистрированных участников из базы данных Myflix. Для этого мы воспользуемся следующим сценарием.
SELECT * FROM members LIMIT 10;
Выполнение вышеуказанного скрипта дает нам результаты, показанные ниже.
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 |
Обратите внимание, что в нашем запросе было возвращено только 9 членов, поскольку N в предложении LIMIT больше, чем общее количество записей в нашей таблице.
Переписать приведенный выше сценарий следующим образом
SELECT * FROM members LIMIT 9;
Возвращает только 9 строк в нашем наборе результатов запроса.
Использование OFF SET в запросе LIMIT
Значение OFF SET также чаще всего используется вместе с ключевым словом LIMIT. Значение OFF SET позволяет нам указать, с какой строки начинать получение данных.
Предположим, что мы хотим получить ограниченное количество членов, начиная с середины строк, для этого мы можем использовать ключевое слово LIMIT вместе со значением смещения. Скрипт, показанный ниже, получает данные, начиная со второй строки, и ограничивает результаты до 2.
SELECT * FROM `members` LIMIT 1, 2;
Выполнение вышеуказанного сценария в рабочей среде MySQL для myflixdb дает следующие результаты.
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 |
Когда мы должны использовать ключевое слово LIMIT?
Предположим, мы разрабатываем приложение, работающее поверх myflixdb. Наш системный разработчик попросил нас ограничить количество отображаемых на странице записей до 20 записей на страницу, чтобы уменьшить время загрузки. Как нам реализовать систему, отвечающую таким требованиям пользователей? Ключевое слово LIMIT пригодится в таких ситуациях. Мы могли бы ограничить результаты, возвращаемые запросом, до 20 записей только на страницу.
Резюме
- Ключевое слово LIMIT используется для ограничения количества строк, возвращаемых из набора результатов.
- Число LIMIT может быть любым числом от нуля (0) вверх. Если в качестве ограничения указан ноль (0), строки из набора результатов не возвращаются.
- Значение OFF SET позволяет нам указать, с какой строки начинать получение данных.
- Его можно использовать вместе с командами SELECT, UPDATE OR DELETE. Синтаксис ключевого слова LIMIT.