-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSELECT_LIMIT.txt
113 lines (87 loc) · 6.74 KB
/
SELECT_LIMIT.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
****** SQL оператор SELECT LIMIT ******
SQL оператор SELECT LIMIT используется для извлечения записей из одной или нескольких
таблиц в базе данных и ограничения количества возвращаемых записей на основании
предельного значения.
!!! ВНИМАНИЕ !!!
SELECT LIMIT поддерживается не во всех базах данных SQL.
В PgSQL он есть.
Для баз данных, таких как SQL Server или MSAccess, используется оператор SELECT TOP,
чтобы ограничить результаты выборки. Оператор SELECT TOP является патентованным
эквивалентом оператора SELECT LIMIT.
!!! ВНИМАНИЕ !!!
Синтаксис для оператора SELECT LIMIT в SQL.
***************************************************************************************
SELECT expressions
FROM tables
[WHERE conditions]
[ORDER BY expression [ ASC | DESC ]]
LIMIT number_rows [ OFFSET offset_value ];
***************************************************************************************
Параметры или аргумент:
- expressions - cтолбцы или расчеты, которые вы хотите получить.
- 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 в PgSQL:
***************************************************************************************
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 вместо самых максимальных,
мы могли бы изменить порядок сортировки следующим образом.
***************************************************************************************
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.
***************************************************************************************
LIMIT 3 OFFSET 1
***************************************************************************************
Это предложение LIMIT вернет 3 записи в наборе результатов со смещением 1. Это означает,
что оператор SELECT пропустит первую запись, которая обычно будет возвращена, и вместо
этого вернет вторую, третью и четвертую записи.
Давайте посмотрим, как использовать оператор SELECT LIMIT с предложением OFFSET в PgSQL:
***************************************************************************************
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 строк.