Що таке ключове слово LIMIT?
Ключове слово limit використовується для обмеження кількості рядків, що повертаються в результаті запиту.
Він може використовуватися разом із командами SELECT, UPDATE OR DELETE, обмежити синтаксис ключового слова
Синтаксис ключового слова LIMIT такий:
SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N;
ТУТ
- "SELECT {імена полів | |}} ІМЯ таблиці (імен)" - це оператор SELECT, що містить поля, які ми хотіли б повернути у нашому запиті.
- "[WHERE умова]" є необов’язковою, але якщо надається, її можна використовувати для вказівки фільтра в наборі результатів.
- "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, обмежити синтаксис ключового слова