Учебник по SQL

SQL ГЛАВНАЯ Введение в SQL Синтаксис SQL Выбор SQL SQL выбрать отдельный SQL Где SQL И, Или, Не Порядок SQL по SQL вставить в Нулевые значения SQL Обновление SQL SQL Удалить SQL выберите вверху SQL Мин. и Макс. Количество SQL, среднее, сумма SQL нравится Подстановочные знаки SQL SQL входящий SQL между Псевдонимы SQL SQL-соединения Внутреннее соединение SQL Левое соединение SQL SQL правое соединение Полное соединение SQL Самостоятельное присоединение SQL Союз SQL Группа SQL по SQL Имея SQL существует SQL Любой, Все SQL выбрать в SQL вставить в выбор SQL-кейс Нулевые функции SQL Хранимые процедуры SQL Комментарии SQL SQL-операторы

База данных SQL

SQL Создать БД БД SQL Drop Резервная копия базы данных SQL Создание таблицы SQL Таблица удаления SQL Таблица изменений SQL Ограничения SQL SQL не нулевой Уникальный SQL Первичный ключ SQL Внешний ключ SQL Проверка SQL SQL по умолчанию Индекс SQL Автоматическое увеличение SQL Даты SQL Представления SQL SQL-инъекция Хостинг SQL Типы данных SQL

Ссылки на SQL

Ключевые слова SQL Функции MySQL Функции SQL-сервера Функции MS Access Краткое руководство по SQL

Примеры SQL

Примеры SQL SQL-викторина SQL-упражнения SQL-сертификат

Предложение SQL TOP, LIMIT, FETCH FIRST или ROWNUM


Предложение SQL SELECT TOP

Предложение SELECT TOPиспользуется для указания количества возвращаемых записей.

Предложение SELECT TOPполезно для больших таблиц с тысячами записей. Возврат большого количества записей может повлиять на производительность.

Примечание. Не все системы баз данных поддерживают это SELECT TOPпредложение. MySQL поддерживает LIMITпредложение для выбора ограниченного числа записей, в то время как Oracle использует и . FETCH FIRST n ROWS ONLYROWNUM

Синтаксис SQL Server/MS Access:

SELECT TOP number|percent column_name(s)
FROM table_name
WHERE condition;

Синтаксис MySQL:

SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;

Синтаксис Oracle 12:

SELECT column_name(s)
FROM table_name
ORDER BY column_name(s)
FETCH FIRST number ROWS ONLY;

Старый синтаксис Oracle:

SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number;

Старый синтаксис Oracle (с ORDER BY):

SELECT *
FROM (SELECT column_name(s) FROM table_name ORDER BY column_name(s))
WHERE ROWNUM <= number;

Демонстрационная база данных

Ниже приведена выборка из таблицы «Клиенты» в образце базы данных «Борей»:

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4

Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden


Примеры SQL TOP, LIMIT и FETCH FIRST

Следующая инструкция SQL выбирает первые три записи из таблицы «Клиенты» (для SQL Server/MS Access):

Пример

SELECT TOP 3 * FROM Customers;

Следующая инструкция SQL показывает эквивалентный пример для MySQL:

Пример

SELECT * FROM Customers
LIMIT 3;

Следующий оператор SQL показывает эквивалентный пример для Oracle:

Пример

SELECT * FROM Customers
FETCH FIRST 3 ROWS ONLY;

SQL TOP PERCENT Пример

Следующая инструкция SQL выбирает первые 50% записей из таблицы «Клиенты» (для SQL Server/MS Access):

Пример

SELECT TOP 50 PERCENT * FROM Customers;

Следующий оператор SQL показывает эквивалентный пример для Oracle:

Пример

SELECT * FROM Customers
FETCH FIRST 50 PERCENT ROWS ONLY;

ДОБАВИТЬ ПРЕДЛОЖЕНИЕ WHERE

Следующая инструкция SQL выбирает первые три записи из таблицы «Клиенты», где страной является «Германия» (для SQL Server/MS Access):

Пример

SELECT TOP 3 * FROM Customers
WHERE Country='Germany';

Следующая инструкция SQL показывает эквивалентный пример для MySQL:

Пример

SELECT * FROM Customers
WHERE Country='Germany'
LIMIT 3;

Следующий оператор SQL показывает эквивалентный пример для Oracle:

Пример

SELECT * FROM Customers
WHERE Country='Germany'
FETCH FIRST 3 ROWS ONLY;