SQL - предложение TOP, LIMIT или ROWNUM
SQL TOP Предложение используется для извлечения из таблицы числа TOP N или X записей в процентах.
Note- Все базы данных не поддерживают предложение TOP. Например, MySQL поддерживаетLIMIT предложение для выборки ограниченного количества записей, в то время как Oracle использует ROWNUM команда для выборки ограниченного количества записей.
Синтаксис
Базовый синтаксис предложения TOP с оператором SELECT будет следующим.
SELECT TOP number|percent column_name(s)
FROM table_name
WHERE [condition]
пример
Рассмотрим таблицу CUSTOMERS, имеющую следующие записи:
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
| 6 | Komal | 22 | MP | 4500.00 |
| 7 | Muffy | 24 | Indore | 10000.00 |
+----+----------+-----+-----------+----------+
Следующий запрос представляет собой пример на сервере SQL, который извлекает 3 первые записи из таблицы CUSTOMERS.
SQL> SELECT TOP 3 * FROM CUSTOMERS;
Это даст следующий результат -
+----+---------+-----+-----------+---------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+---------+-----+-----------+---------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
+----+---------+-----+-----------+---------+
Если вы используете сервер MySQL, то вот эквивалентный пример -
SQL> SELECT * FROM CUSTOMERS
LIMIT 3;
Это даст следующий результат -
+----+---------+-----+-----------+---------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+---------+-----+-----------+---------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
+----+---------+-----+-----------+---------+
Если вы используете сервер Oracle, то в следующем блоке кода есть эквивалентный пример.
SQL> SELECT * FROM CUSTOMERS
WHERE ROWNUM <= 3;
Это даст следующий результат -
+----+---------+-----+-----------+---------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+---------+-----+-----------+---------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
+----+---------+-----+-----------+---------+