НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ

SQL Підручник

SQL СТАРТ SQL Інтро SQL Синтаксис SQL SELECT SQL SELECT DISTINCT SQL WHERE SQL ORDER BY SQL AND SQL OR SQL NOT SQL INSERT INTO SQL NULL SQL UPDATE SQL DELETE SQL SELECT TOP SQL MIN() and MAX() SQL COUNT() SQL SUM() SQL AVG() SQL LIKE SQL Підстановочні символи SQL IN SQL BETWEEN SQL Псевдоніми SQL JOIN SQL INNER JOIN SQL LEFT JOIN SQL RIGHT JOIN SQL FULL OUTER JOIN SQL Self JOIN SQL UNION SQL GROUP BY SQL HAVING SQL EXISTS SQL ANY, ALL SQL SELECT INTO SQL INSERT INTO SELECT SQL CASE SQL NULL Функції SQL Збережені процедури SQL Коментарі SQL Оператори

SQL База даних

SQL CREATE DATABASE SQL DROP DATABASE SQL BACKUP DATABASE SQL CREATE TABLE SQL DROP TABLE SQL ALTER TABLE SQL Constraints SQL NOT NULL SQL UNIQUE SQL PRIMARY KEY SQL FOREIGN KEY SQL CHECK SQL DEFAULT SQL CREATE INDEX SQL AUTO INCREMENT SQL Дати SQL CREATE VIEW SQL Ін'єкція SQL Хостинг SQL Типи даних

SQL Довідники

SQL Ключові слова MySQL Функції SQL Server функції MS Access Функції SQL Швидкий довідник

SQL Приклади

SQL Приклади SQL Редактор SQL Вікторина SQL Вправи SQL Bootcamp SQL Сертифікат

SQL. W3Schools українською. Уроки для початківців

En Es De Fr

SQL TOP, LIMIT, FETCH FIRST або ROWNUM Пропозиція


SQL Пропозиція SELECT TOP

Пропозиція SELECT TOP використовується для визначення кількості записів для повернення.

Пропозиція SELECT TOP корисна для великих таблиць із тисячами записів. Повернення великої кількості записів може вплинути на продуктивність.

Приклад

Виберіть лише перші 3 записи таблиці Customers (Клієнти):

SELECT TOP 3 * FROM Customers;
Try it Yourself »

Примітка: Не всі системи баз даних підтримують пропозицію SELECT TOP. MySQL підтримує пропозицію LIMIT для вибору обмеженої кількості записів, тоді як Oracle використовує FETCH FIRST n ROWS ONLY та ROWNUM.

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;


Демонстраційна база даних

Нижче наведено вибірку з таблиці Customers, яка використовується в прикладах.

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

LIMIT

Наступна SQL інструкція показує еквівалентний приклад для MySQL:

Приклад

Виберіть перші 3 записи таблиці Customers (Клієнти):

SELECT * FROM Customers
LIMIT 3;
Try it Yourself »

FETCH FIRST

Наступна SQL інструкція показує еквівалентний приклад для Oracle:

Приклад

Виберіть перші 3 записи таблиці Customers (Клієнти):

SELECT * FROM Customers
FETCH FIRST 3 ROWS ONLY;

SQL TOP PERCENT Приклад

Наступна SQL інструкція вибирає перші 50% записів із таблиці "Customers" (для SQL Server/MS Access):

Приклад

SELECT TOP 50 PERCENT * FROM Customers;
Try it Yourself »

Наступна SQL інструкція показує еквівалентний приклад для Oracle:

Приклад

SELECT * FROM Customers
FETCH FIRST 50 PERCENT ROWS ONLY;

Додати пропозицію WHERE

Наступна SQL інструкція вибирає перші три записи з таблиці Customers, де країна — "Germany" (для SQL Server/MS Access):

Приклад

SELECT TOP 3 * FROM Customers
WHERE Country='Germany';
Try it Yourself »

Наступна SQL інструкція показує еквівалентний приклад для MySQL:

Приклад

SELECT * FROM Customers
WHERE Country='Germany'
LIMIT 3;
Try it Yourself »

Наступна SQL інструкція показує еквівалентний приклад для Oracle:

Приклад

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

Додати ключове слово ORDER BY

Додайте ключове слово ORDER BY, якщо ви хочете відсортувати результат, і поверніть перші 3 записи відсортованого результату.

Для SQL Server і MS Access:

Приклад

Відсортуйте результат в алфавітному порядку за ім’ям клієнта (CustomerName) та поверніть перші 3 записи:

SELECT TOP 3 * FROM Customers
ORDER BY CustomerName DESC;
Try it Yourself »

Наступна SQL інструкція показує еквівалентний приклад для MySQL:

Приклад

SELECT * FROM Customers
ORDER BY CustomerName DESC
LIMIT 3;
Try it Yourself »

Наступна SQL інструкція показує еквівалентний приклад для Oracle:

Приклад

SELECT * FROM Customers
ORDER BY CustomerName DESC
FETCH FIRST 3 ROWS ONLY;