Поиск по сайту:
Я умею только сомневаться (Ф. Вольтер).

SQL — Класс TOP, LIMIT или ROWNUM

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
19.04.2017
SQL - Класс TOP, LIMIT или ROWNUM

Предложение ТОП используется для извлечения целого ряда или Х процентов TOP N записей из таблицы.

Примечание: Не все базы данных поддерживают предложение 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 | Maxim    |  35 | Moscow    | 21000.00 |
|  2 | AndreyEx |  38 | Krasnodar | 55500.00 |
|  3 | Oleg     |  33 | Rostov    | 34000.00 |
|  4 | Masha    |  35 | Moscow    | 31500.00 |
|  5 | Ruslan   |  34 | Omsk      | 43000.00 |
|  6 | Dima     |  32 | SP        | 45000.00 |
|  7 | Roma     |  34 | SP        | 10000.00 |
+----+----------+-----+-----------+----------+

 

Следующий запрос выведет первые 3 записи из таблицы CUSTOMERS.

SQL> SELECT TOP 3 * FROM CUSTOMERS;

 

Это произведет следующий результат:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Maxim    |  35 | Moscow    | 21000.00 |
|  2 | AndreyEx |  38 | Krasnodar | 55500.00 |
|  3 | Oleg     |  33 | Rostov    | 34000.00 |
+----+----------+-----+-----------+----------+

 

Если вы используете сервер MySQL, то здесь эквивалентный пример:

SQL> SELECT * FROM CUSTOMERS
LIMIT 1;

 

Это произведет следующий результат:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Maxim    |  35 | Moscow    | 21000.00 |
+----+----------+-----+-----------+----------+

 

Если вы используете сервер Oracle, то следующий блок кода имеет эквивалентный пример.

SQL> SELECT * FROM CUSTOMERS
WHERE ROWNUM <= 2;

 

Это произведет следующий результат:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Maxim    |  35 | Moscow    | 21000.00 |
|  2 | AndreyEx |  38 | Krasnodar | 55500.00 |
+----+----------+-----+-----------+----------+

 

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Спасибо!

Теперь редакторы в курсе.