Учебники

21) предел

Что такое ключевое слово 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, содержащий поля, которые мы хотели бы вернуть в нашем запросе.
  • «[ГДЕ условие]»  является необязательным, но при наличии может использоваться для указания фильтра в наборе результатов.
  • «LIMIT N»  — это ключевое слово, а  N  — любое число, начинающееся с 0, в котором 0, как предел, не возвращает никаких записей в запросе. Если ввести число, скажем, 5, получится пять записей. Если записи в указанной таблице меньше N, тогда все записи из запрашиваемой таблицы возвращаются в наборе результатов.

Давайте посмотрим на пример —

SELECT *  FROM members LIMIT 2;
membership_ numberfull_ namesgenderdate_of _birthdate_of _registrationphysical_ addresspostal_ addresscontact_ numberemailcredit_ card_ number
1Janet JonesFemale21-07-1980NULLFirst Street Plot No 4Private Bag0759 253 542janetjones@yagoo.cmNULL
2Janet Smith JonesFemale23-06-1980NULLMelrose 123NULLNULLjj@fstreet.comNULL

 

Как вы можете видеть на скриншоте выше, только два участника были возвращены.

Получение списка из десяти (10) членов только из базы данных

Предположим, мы хотим получить список первых 10 зарегистрированных пользователей из базы данных Myflix. Мы бы использовали следующий скрипт для достижения этой цели.

SELECT *  FROM members LIMIT 10;

Выполнение вышеуказанного скрипта дает нам результаты, показанные ниже

 

membership_ numberfull_ namesgenderdate_of _birthdate_of _registrationphysical_ addresspostal_ addresscontact_ numberemailcredit_ card_ number
1Janet JonesFemale21-07-1980NULLFirst Street Plot No 4Private Bag0759 253 542janetjones@yagoo.cmNULL
2Janet Smith JonesFemale23-06-1980NULLMelrose 123NULLNULLjj@fstreet.comNULL
3Robert PhilMale12-07-1989NULL3rd Street 34NULL12345rm@tstreet.comNULL
4Gloria WilliamsFemale14-02-1984NULL2nd Street 23NULLNULLNULLNULL
5Leonard HofstadterMaleNULLNULLWoodcrestNULL845738767NULLNULL
6Sheldon CooperMaleNULLNULLWoodcrestNULL976736763NULLNULL
7Rajesh KoothrappaliMaleNULLNULLWoodcrestNULL938867763NULLNULL
8Leslie WinkleMale14-02-1984NULLWoodcrestNULL987636553NULLNULL
9Howard WolowitzMale24-08-1981NULLSouthParkP.O. Box 4563987786553lwolowitz[at]email.meNULL

Note only 9 members have been returned in our query since N in the LIMIT clause is greater than the number of total records in our table.

Re-writing the above script as follows

SELECT *  FROM members LIMIT 9;

Only returns 9 rows in our query result set.

Using the OFF SET in the LIMIT query

The OFF SET value is also most often used together with the LIMIT keyword. The OFF SET value allows us to specify which row to start from retrieving data

 

Давайте предположим, что мы хотим получить ограниченное количество членов, начиная с середины строк, мы можем использовать ключевое слово LIMIT вместе со значением смещения для достижения этого. Сценарий, показанный ниже, получает данные, начиная со второй строки, и ограничивает результаты до 2.

SELECT * FROM `members` LIMIT 1, 2;

Выполнение вышеупомянутого сценария в MySQL Workbench против myflixdb дает следующие результаты.

 

membership_ numberfull_ namesgenderdate_of _birthdate_of _registrationphysical_ addresspostal_ addresscontact_ numberemailcredit_ card_ number
2Janet Smith JonesFemale23-06-1980NULLMelrose 123NULLNULLjj@fstreet.comNULL
3Robert PhilMale12-07-1989NULL3rd Street 34NULL12345rm@tstreet.comNULL
Note that here OFFSET = 1 Hence row#2 is returned & Limit = 2, Hence only 2 records are returned

Когда мы должны использовать ключевое слово LIMIT?

Давайте предположим, что мы разрабатываем приложение, которое работает поверх myflixdb. Наш разработчик системы попросил нас ограничить количество записей, отображаемых на странице, до 20 записей на страницу, чтобы противостоять медленному времени загрузки. Как мы реализуем систему, которая отвечает таким требованиям пользователей? Ключевое слово LIMIT пригодится в таких ситуациях. Мы сможем ограничить результаты, возвращаемые запросом, до 20 записей только на страницу.

Резюме

  • Ключевое слово LIMIT используется для ограничения количества строк, возвращаемых из набора результатов.
  • Номер LIMIT может быть любым числом от нуля (0), идущим вверх. Если в качестве предела указано ноль (0), из результирующего набора строки не возвращаются.
  • Значение OFF SET позволяет нам указать, какую строку начинать с получения данных.
  • Может использоваться в сочетании с командами SELECT, UPDATE OR DELETE LIMIT синтаксис ключевого слова