MySQL ОБМЕЖЕННЯ ТА ЗМІЩЕННЯ з прикладами

Що таке ключове слово LIMIT?

Ключове слово limit використовується для обмеження кількості рядків, що повертаються в результаті запиту.

Його можна використовувати в поєднанні з командами SELECT, UPDATE OR DELETE. Синтаксис ключового слова LIMIT

Синтаксис ключового слова LIMIT такий

SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT  N;

ТУТ

  • «ВИБЕРІТЬ {назви полів | *} FROM tableName(s)” є Оператор SELECT містить поля, які ми хотіли б повернути в нашому запиті.
  • «[умова WHERE]» є необов’язковим, але якщо надається, його можна використовувати для визначення фільтра для набору результатів.
  • «ОБМЕЖЕННЯ N» є ключовим словом and 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 email credit_ card_ number
1 Janet Jones Female 21-07-1980 NULL First Street Plot No 4 Private Bag 0759 253 542 janetjones@yagoo.cm NULL
2 Janet Smith Jones Female 23-06-1980 NULL Melrose 123 NULL NULL jj@fstreet.com 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 email credit_ card_ number
1 Janet Jones Female 21-07-1980 NULL First Street Plot No 4 Private Bag 0759 253 542 janetjones@yagoo.cm NULL
2 Janet Smith Jones Female 23-06-1980 NULL Melrose 123 NULL NULL jj@fstreet.com NULL
3 Robert Phil Male 12-07-1989 NULL 3rd Street 34 NULL 12345 rm@tstreet.com 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

Команда ВИМК значення також найчастіше використовується разом із ключовим словом LIMIT. Значення OFF SET дозволяє нам вказати, з якого рядка починати отримання даних

Припустімо, що ми хочемо отримати обмежену кількість учасників, починаючи з середини рядків, ми можемо використати ключове слово LIMIT разом із значенням зсуву, щоб досягти цього. Показаний нижче сценарій отримує дані, починаючи з другого рядка, і обмежує результати до 2.

SELECT * FROM `members` LIMIT 1, 2;

Виконання наведеного вище сценарію в MySQL workbench проти myflixdb дає такі результати.

membership_ number full_ names gender date_of _birth date_of _registration physical_ address postal_ address contact_ number email credit_ card_ number
2 Janet Smith Jones Female 23-06-1980 NULL Melrose 123 NULL NULL jj@fstreet.com NULL
3 Robert Phil Male 12-07-1989 NULL 3rd Street 34 NULL 12345 rm@tstreet.com NULL

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