Résumé: Ce tutoriel vous montre comment utiliser la clause SQLLIMIT
pour contraindre le nombre de lignes renvoyées par une instructionSELECT
.
introduction à la clause SQL LIMIT
pour récupérer une partie des lignes renvoyées par une requête, vous utilisez les clausesLIMIT
etOFFSET
., L’exemple suivant illustre la syntaxe de ces clauses:
Dans cette syntaxe:
- Le
row_count
détermine le nombre de lignes renvoyées. - Le
OFFSET
clause ignore leoffset
lignes avant de commencer à retourner les lignes. La clauseOFFSET
est facultative, vous pouvez donc l’ignorer., Si vous utilisez les deuxLIMIT
etOFFSET
clauses de la baliseOFFSET
ignoreoffset
lignes avant la baliseLIMIT
limite le nombre de lignes.
lorsque vous utilisez la clauseLIMIT
, il est important d’utiliser une clauseORDER BY
pour vous assurer que les lignes renvoyées sont dans un ordre spécifié.,
tous les systèmes de base de données ne prennent pas en charge la clause LIMIT
, par conséquent, la clause LIMIT
la clause / div > n’est disponible que dans certains systèmes de base de données tels que MySQL, PostgreSQL, SQLite, Sybase SQL Anywhere et HSQLDB.
exemples de clause limite SQL
Nous utiliserons la tableemployees
dans l’exemple de base de données pour démontrer la clause limite.,
La déclaration suivante renvoie toutes les lignes dans le employees
table triée par la balise first_name
colonne.
Voir
Pour revenir juste top 5 lignes, vous utilisez la balise LIMIT
clause de la déclaration suivante.,
Voir
Pour sauter deux lignes et obtenir les cinq prochaines lignes, vous utilisez à la fois LIMIT
et OFFSET
clauses, comme indiqué dans la déclaration suivante.
Voir
Si vous utilisez MySQL, vous pouvez utiliser la forme courte de la balise LIMIT OFFSET
clauses.,
Voir en action
utilisation de SQL LIMIT pour obtenir les N premières lignes avec la valeur la plus élevée ou la plus basse
Vous pouvez utiliser la clauseLIMIT
pour obtenir les N premières lignes avec la valeur Par exemple, la déclaration suivante obtient les cinq meilleurs employés avec les salaires les plus élevés.,
Voir
tout d’Abord, la balise ORDER BY
clause de trie les employés par la rémunération dans l’ordre décroissant, puis la balise LIMIT
clause de limite de cinq lignes renvoyées par la requête.
pour obtenir les cinq meilleurs employés avec le salaire le plus bas, vous triez les employés par salaire dans l’ordre croissant à la place.,
obtenir les lignes avec la nième valeur la plus élevée
supposons que vous deviez obtenir des employés dont le 2ème salaire le plus élevé de l’entreprise. Pour ce faire, vous utilisez les clausesLIMIT OFFSET
comme suit.
Voir
Le ORDER BY
clause de trie les employés par la rémunération dans l’ordre décroissant. Et la clause LIMIT 1 OFFSET 1
obtient la deuxième ligne du jeu de résultats.,
Cette requête fonctionne avec l’hypothèse que chaque employé a un autre salaire. Il échouera s’il y a deux employés qui ont le même salaire le plus élevé. De plus, si vous avez deux employés ou plus qui ont le même 2ème salaire le plus élevé, la requête renvoie simplement le premier.
Pour résoudre ce problème, vous pouvez d’abord obtenir le deuxième salaire le plus élevé en utilisant la déclaration suivante.,
Voir
Et passer le résultat d’une autre requête:
Voir
Si vous connaissez la sous-requête, vous pouvez combiner les deux requêtes en une seule requête comme suit:
Voir
Dans ce tutoriel, nous avons présenté les SQL LIMIT et OFFSET des clauses qui vous permettent de limiter le nombre de lignes renvoyées par une requête.,
- ce tutoriel a Été utile ?
- Ouinon