Les clausses TOP, LIMIT ou ROWNUM

SUIVEZ NOTRE CHAINE YOUTUBE:
https://www.youtube.com/channel/UCCITRMWPcElh-96wCS3EyUg

abdelouafi

Administrator
Remarque: Cliquez sur l'image pour la visualiser
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 avoir une incidence sur les performances.

Remarque: Tous les systèmes de base de données ne prennent pas en charge la clause SELECT TOP. MySQL supporte la clause LIMIT pour sélectionner un nombre limité d'enregistrements, tandis qu'Oracle utilise ROWNUM.

Syntaxe de SQL Server / MS Access:
Code:
SELECT TOP number|percent column_name(s)
FROM table_name
WHERE condition;



Syntaxe Mysql:
Code:
SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;

La syntaxe Oracle:
Code:
SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number;


Base de données de démonstration
Vous trouverez ci-dessous une sélection de la table "Clients" de la base de données exemple Northwind:

upload_2018-11-9_22-12-39.png


Exemples SQL TOP, LIMIT et ROWNUM
L'instruction SQL suivante sélectionne les trois premiers enregistrements de la table "Clients":

Exemple
Code:
SELECT TOP 3 * FROM Customers;


L'instruction SQL suivante montre l'exemple équivalent à l'aide de la clause LIMIT:

Exemple
Code:
SELECT * FROM Customers
LIMIT 3;


L'instruction SQL suivante montre l'exemple équivalent utilisant ROWNUM:

Exemple
Code:
SELECT * FROM Customers
WHERE ROWNUM <= 3;


Exemple SQL TOP PERCENT
L'instruction SQL suivante sélectionne les 50% premiers enregistrements de la table "Clients":

Exemple
Code:
SELECT TOP 50 PERCENT * FROM Customers;


AJOUTER UNE CLAUSE WHERE
L'instruction SQL suivante sélectionne les trois premiers enregistrements de la table "Clients", où le pays est "Allemagne":

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


L'instruction SQL suivante montre l'exemple équivalent à l'aide de la clause LIMIT:

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


L'instruction SQL suivante montre l'exemple équivalent utilisant ROWNUM:

Exemple
Code:
SELECT * FROM Customers
WHERE Country='Germany' AND ROWNUM <= 3;
 
Top