MEILLEUR SITE POUR LES DÉVELOPPEURS WEB

SQL Tutoriel

SQL MAISON SQL Introduction SQL Syntaxe SQL SELECT SQL SELECT DISTINCT SQL WHERE SQL ORDER BY SQL AND SQL OR SQL NOT SQL INSERT INTO SQL NULL Valeurs SQL UPDATE SQL DELETE SQL SELECT TOP SQL MIN() et MAX() SQL COUNT SQL SUM SQL AVG SQL LIKE SQL Faunes SQL IN SQL BETWEEN SQL Aliases SQL JOIN SQL INNER JOIN SQL LEFT JOIN SQL RIGHT JOIN SQL FULL OUTER JOIN SQL Se joindre à moi SQL UNION SQL GROUP BY SQL HAVING SQL EXISTS SQL ANY, ALL SQL SELECT INTO SQL INSERT INTO SELECT SQL CASE SQL NULL Fonctions SQL Procédures stockées SQL Commentaires SQL Opérateurs

SQL Base de données

SQL CREATE DATABASE SQL DROP DATABASE SQL BACKUP DATABASE SQL CREATE TABLE SQL DROP TABLE SQL ALTER TABLE SQL Contraintes SQL NOT NULL SQL UNIQUE SQL PRIMARY KEY SQL FOREIGN KEY SQL CHECK SQL DEFAULT SQL CREATE INDEX SQL AUTO INCREMENT SQL Dates SQL CREATE VIEW SQL Injection SQL Hosting SQL Types de données

SQL Références

SQL Mots clés MySQL Fonctions SQL Server Fonctions MS Access Fonctions SQL Référence rapide

SQL Exemples

SQL Exemples SQL Éditeur SQL Questionnaire SQL Exercices SQL Botterpamp SQL Certificat

SQL. Leçons pour les débutants

En Ua Es De

SQL TOP, LIMIT, FETCH FIRST ou ROWNUM Clause


La clause SQL SELECT TOP

La clause SELECT TOP est utilisée pour spécifier le nombre d'enregistrements à renvoyer.

La clause SELECT TOP est utile pour les grandes tables contenant des milliers d'enregistrements. Le renvoi d'un grand nombre d'enregistrements peut impacter les performances.

Exemple

Sélectionnez uniquement les 3 premiers enregistrements de la table Customers :

SELECT TOP 3 * FROM Customers;
Try it Yourself »

Note: Tous les systèmes de bases de données ne prennent pas en charge la clause SELECT TOP. MySQL prend en charge la clause LIMIT pour sélectionner un nombre limité d'enregistrements, tandis qu'Oracle l'utilise FETCH FIRST n ROWS ONLY et ROWNUM.

SQL Server / MS Access Syntax:

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

MySQL Syntax:

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

Oracle 12 Syntax:

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

Ancienne syntaxe Oracle :

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

Ancienne syntaxe Oracle (avec ORDER BY) :

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


Base de données de démonstration

Vous trouverez ci-dessous une sélection de la table Customers utilisée dans les exemples :

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

L'instruction SQL suivante montre l'exemple équivalent pour MySQL :

Exemple

Sélectionnez les 3 premiers enregistrements de la table Customers :

SELECT * FROM Customers
LIMIT 3;
Try it Yourself »

FETCH FIRST

L'instruction SQL suivante montre l'exemple équivalent pour Oracle :

Exemple

Sélectionnez les 3 premiers enregistrements de la table Customers :

SELECT * FROM Customers
FETCH FIRST 3 ROWS ONLY;

SQL TOP PERCENT Exemple

L'instruction SQL suivante sélectionne les 50 % premiers enregistrements de la table « Customers » (pour SQL Server/MS Access) :

Exemple

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

L'instruction SQL suivante montre l'exemple équivalent pour Oracle :

Exemple

SELECT * FROM Customers
FETCH FIRST 50 PERCENT ROWS ONLY;

AJOUTER UNE CLAUSE WHERE

L'instruction SQL suivante sélectionne les trois premiers enregistrements de la table "Customers", où le pays est "Germany" (pour SQL Server/MS Access) :

Exemple

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

L'instruction SQL suivante montre l'exemple équivalent pour MySQL :

Exemple

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

L'instruction SQL suivante montre l'exemple équivalent pour Oracle :

Exemple

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

AJOUTER le mot-clé ORDER BY

Ajoutez le mot-clé ORDER BY lorsque vous souhaitez trier le résultat et renvoyer les 3 premiers enregistrements du résultat trié.

Pour SQL Server et MS Access :

Exemple

Triez le résultat par ordre alphabétique inverse par CustomerName et renvoyez les 3 premiers enregistrements :

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

L'instruction SQL suivante montre l'exemple équivalent pour MySQL :

Exemple

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

L'instruction SQL suivante montre l'exemple équivalent pour Oracle :

Exemple

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