SQL -zelfstudie

SQL HOME SQL-intro SQL-syntaxis SQL-selectie SQL Select Distinct SQL waar SQL en, of, niet SQL-bestelling op SQL invoegen in SQL-nulwaarden SQL-update SQL verwijderen SQL Selecteer Top SQL Min en Max Aantal SQL, Gem, Som SQL Vind ik leuk SQL-jokertekens SQL In SQL Tussen SQL-aliassen SQL-joins SQL Inner Join SQL Left Join SQL juiste join Volledige deelname aan SQL Zelf lid worden van SQL SQL-unie SQL Groeperen op SQL hebben SQL bestaat SQL Alle, Alle SQL Selecteren in SQL invoegen in selecteren SQL-geval SQL Null-functies Op SQL opgeslagen procedures SQL-opmerkingen SQL-operators

SQL- database

SQL creëren DB SQL Drop-DB SQL back-up DB SQL-tabel maken SQL-droptabel SQL-wijzigingstabel SQL-beperkingen SQL niet null SQL Uniek Primaire SQL-sleutel SQL externe sleutel SQL-controle SQL-standaard SQL-index Automatische SQL-verhoging SQL-datums SQL-weergaven SQL injectie SQL-hosting SQL-gegevenstypen

SQL- verwijzingen

SQL-trefwoorden MySQL-functies SQL Server-functies MS Access-functies Snelle SQL-referentie

SQL- voorbeelden

SQL-voorbeelden SQL-quiz SQL-oefeningen SQL-certificaat

SQL TOP, LIMIT, FETCH FIRST of ROWNUM- clausule


De SQL SELECT TOP-clausule

De SELECT TOPclausule wordt gebruikt om het aantal records op te geven dat moet worden geretourneerd.

De SELECT TOPclausule is handig op grote tabellen met duizenden records. Het retourneren van een groot aantal records kan van invloed zijn op de prestaties.

Opmerking: niet alle databasesystemen ondersteunen de SELECT TOPclausule. MySQL ondersteunt de LIMITclausule om een ​​beperkt aantal records te selecteren, terwijl Oracle en . FETCH FIRST n ROWS ONLYROWNUM

SQL Server / MS Access-syntaxis:

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

MySQL-syntaxis:

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

Oracle 12-syntaxis:

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

Oudere Oracle-syntaxis:

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

Oudere Oracle-syntaxis (met ORDER BY):

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

Demodatabase

Hieronder vindt u een selectie uit de tabel "Klanten" in de voorbeelddatabase van 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


Voorbeelden van SQL TOP, LIMIT en FETCH FIRST

De volgende SQL-instructie selecteert de eerste drie records uit de tabel "Klanten" (voor SQL Server/MS Access):

Voorbeeld

SELECT TOP 3 * FROM Customers;

De volgende SQL-instructie toont het equivalente voorbeeld voor MySQL:

Voorbeeld

SELECT * FROM Customers
LIMIT 3;

De volgende SQL-instructie toont het equivalente voorbeeld voor Oracle:

Voorbeeld

SELECT * FROM Customers
FETCH FIRST 3 ROWS ONLY;

SQL TOP PERCENT Voorbeeld

De volgende SQL-instructie selecteert de eerste 50% van de records uit de tabel "Klanten" (voor SQL Server/MS Access):

Voorbeeld

SELECT TOP 50 PERCENT * FROM Customers;

De volgende SQL-instructie toont het equivalente voorbeeld voor Oracle:

Voorbeeld

SELECT * FROM Customers
FETCH FIRST 50 PERCENT ROWS ONLY;

EEN WAAR-CLAUSULE TOEVOEGEN

De volgende SQL-instructie selecteert de eerste drie records uit de tabel "Klanten", waarbij het land "Duitsland" is (voor SQL Server/MS Access):

Voorbeeld

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

De volgende SQL-instructie toont het equivalente voorbeeld voor MySQL:

Voorbeeld

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

De volgende SQL-instructie toont het equivalente voorbeeld voor Oracle:

Voorbeeld

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