Samouczek SQL

SQL HOME Wprowadzenie do SQL Składnia SQL Wybór SQL SQL Wybierz Wyraźne SQL Gdzie SQL i lub nie Kolejność SQL według SQL Wstaw do Puste wartości SQL Aktualizacja SQL Usuń SQL SQL Wybierz Góra Minimalna i maksymalna wartość SQL Liczba SQL, średnia, suma Polubienie SQL Symbole wieloznaczne SQL SQL In SQL między Aliasy SQL Połączenia SQL Wewnętrzne złącze SQL Połączenie lewe SQL Prawe połączenie SQL Pełne dołączenie do SQL Samoprzyłączanie SQL SQL Union Grupa SQL według Posiadanie SQL SQL istnieje SQL Dowolne, Wszystkie SQL Wybierz do Wstaw SQL do Wybierz Sprawa SQL Funkcje zerowe SQL Procedury składowane w SQL Komentarze SQL Operatory SQL

Baza danych SQL

Tworzenie bazy danych SQL Porzucona baza danych SQL Kopia zapasowa bazy danych SQL Utwórz tabelę SQL Tabela upuszczania SQL Zmień tabelę SQL Ograniczenia SQL SQL nie jest pusty Unikalny SQL Klucz podstawowy SQL Klucz obcy SQL Sprawdzanie SQL Domyślny SQL Indeks SQL Automatyczny przyrost SQL Daty SQL Widoki SQL Wstrzyknięcie SQL Hosting SQL Typy danych SQL

Referencje SQL

Słowa kluczowe SQL Funkcje MySQL Funkcje serwera SQL Funkcje dostępu MS Szybkie odwołanie do SQL

Przykłady SQL

Przykłady SQL Quiz SQL Ćwiczenia SQL Certyfikat SQL

Klauzula SQL TOP, LIMIT, FETCH FIRST lub ROWNUM


Klauzula SQL SELECT TOP

Klauzula SELECT TOPsłuży do określenia liczby rekordów do zwrócenia.

Klauzula SELECT TOPjest przydatna w przypadku dużych tabel zawierających tysiące rekordów. Zwracanie dużej liczby rekordów może wpłynąć na wydajność.

Uwaga: Nie wszystkie systemy baz danych obsługują SELECT TOPklauzulę. MySQL obsługuje LIMITklauzulę wyboru ograniczonej liczby rekordów, podczas gdy Oracle używa i . FETCH FIRST n ROWS ONLYROWNUM

Składnia serwera SQL / MS Access:

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

Składnia MySQL:

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

Składnia Oracle 12:

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

Starsza składnia Oracle:

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

Starsza składnia Oracle (z ORDER BY):

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

Demo bazy danych

Poniżej znajduje się wybór z tabeli „Klienci” w przykładowej bazie danych Northwind:

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


Przykłady SQL TOP, LIMIT i FETCH FIRST

Poniższa instrukcja SQL wybiera pierwsze trzy rekordy z tabeli „Klienci” (dla SQL Server/MS Access):

Przykład

SELECT TOP 3 * FROM Customers;

Poniższa instrukcja SQL przedstawia równoważny przykład dla MySQL:

Przykład

SELECT * FROM Customers
LIMIT 3;

Poniższa instrukcja SQL przedstawia równoważny przykład dla Oracle:

Przykład

SELECT * FROM Customers
FETCH FIRST 3 ROWS ONLY;

Przykład SQL TOP PERCENT

Poniższa instrukcja SQL wybiera pierwsze 50% rekordów z tabeli „Klienci” (dla SQL Server/MS Access):

Przykład

SELECT TOP 50 PERCENT * FROM Customers;

Poniższa instrukcja SQL przedstawia równoważny przykład dla Oracle:

Przykład

SELECT * FROM Customers
FETCH FIRST 50 PERCENT ROWS ONLY;

DODAJ KLAUZUJĘ GDZIE

Poniższa instrukcja SQL wybiera pierwsze trzy rekordy z tabeli „Klienci”, gdzie krajem jest „Niemcy” (dla SQL Server/MS Access):

Przykład

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

Poniższa instrukcja SQL przedstawia równoważny przykład dla MySQL:

Przykład

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

Poniższa instrukcja SQL przedstawia równoważny przykład dla Oracle:

Przykład

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