В этом учебном материале вы узнаете, как использовать оператор SELECT LIMIT в SQL, с синтаксисом и примерами.
Описание
SQL оператор SELECT LIMIT используется для извлечения записей из одной или нескольких таблиц в базе данных и ограничения количества возвращаемых записей на основании предельного значения.
Подсказка: SELECT LIMIT поддерживается не во всех базах данных SQL.
Для баз данных, таких как SQL Server или MSAccess, используйте оператор SELECT TOP, чтобы ограничить свои результаты. Оператор SELECT TOP является патентованным эквивалентом оператора SELECT LIMIT.
Синтаксис
Синтаксис для оператора SELECT LIMIT в SQL.
FROM tables
[WHERE conditions]
[ORDER BY expression [ ASC | DESC ]]
LIMIT number_rows [ OFFSET offset_value ];
Параметры или аргумент
- expressions
- Столбцы или расчеты, которые вы хотите получить
- tables
- Таблицы, из которых вы хотите получить записи. В предложении FROM должна быть указана хотя бы одна таблица
- WHERE conditions
- Необязательный. Условия, которые должны быть выполнены для записей, которые будут выбраны
- ORDER BY expression
- Необязательный. Он используется в операторе SELECT LIMIT, чтобы вы могли упорядочить результаты и выбрать те записи, которые вы хотите вернуть. ASC - возрастающий порядок, а DESC - убывающий
- LIMIT number_rows
- Он указывает ограниченное количество строк в наборе результатов, которые должны быть возвращены на основе number_rows. Например, LIMIT 10 вернет первые 10 строк, соответствующих критериям SELECT. Именно здесь важен порядок сортировки, поэтому обязательно используйте предложение ORDER BY соответствующим образом
- OFFSET offset_value
- Необязательный. Первая строка, возвращаемая LIMIT, будет определена offset_value
Пример - использование ключевого слова LIMIT
Давайте посмотрим, как использовать оператор SELECT с опцией LIMIT в SQL.
Например.
1 2 3 4 5 6 7 |
SELECT contact_id, last_name, first_name FROM contacts WHERE website = 'Google.com' ORDER BY contact_id DESC LIMIT 5; |
В этом SQL примере SELECT LIMIT будут выбраны первые 5 записей из таблицы contacts, где website - 'Google.com'. Обратите внимание, что результаты сортируются по contact_id в порядке убывания, поэтому это означает, что 5 самых максимальных значений contact_id будут возвращены оператором SELECT LIMIT.
Если в таблице contacts есть другие записи со значением website 'Google.com', они не будут возвращены оператором SELECT LIMIT в SQL.
Если бы мы хотели выбрать 5 самых минимальных значений contact_id вместо самых максимальных, мы могли бы изменить порядок сортировки следующим образом.
1 2 3 4 5 6 7 |
SELECT contact_id, last_name, first_name FROM contacts WHERE website = 'Google.com' ORDER BY contact_id ASC LIMIT 5; |
Теперь результаты будут отсортированы по contact_id в порядке возрастания, поэтому первые 5 самых минимальных записей contact_id, которые имеют website - 'Google.com', будут возвращены этим запросом SELECT LIMIT. Никакие другие записи не будут возвращены этим запросом.
Пример - использование ключевого слова OFFSE
Ключевое слово offset позволяет сместить первую запись, возвращаемую предложением LIMIT. Например.
1 |
LIMIT 3 OFFSET 1 |
Это предложение LIMIT вернет 3 записи в наборе результатов со смещением 1. Это означает, что оператор SELECT пропустит первую запись, которая обычно будет возвращена, и вместо этого вернет вторую, третью и четвертую записи.
Давайте посмотрим, как использовать оператор SELECT LIMIT с предложением OFFSET в SQL.
Например.
1 2 3 4 5 6 7 |
SELECT contact_id, last_name, first_name FROM contacts WHERE website = 'Google.com' ORDER BY contact_id DESC LIMIT 5 OFFSET 2; |
В этом SQL примере SELECT LIMIT используется OFFSET, равный 2, что означает, что первая и вторая записи в наборе результатов будут пропущены ... и затем будут возвращены следующие 5 строк.