Maison >base de données >tutoriel mysql >Comment générer une séquence numérique en SQL à l'aide de la table DUAL ?
Comment générer une séquence de nombres en SQL
La génération d'une liste séquentielle de nombres est une tâche courante dans la manipulation de données. Une façon courante de procéder dans SQL consiste à utiliser la table DUAL. La table DUAL est une table virtuelle qui contient exactement une ligne avec une colonne, toujours nommée DUMMY. Pour interroger cette table, nous pouvons utiliser la syntaxe suivante :
SELECT * FROM DUAL;
Maintenant, pour générer une séquence de nombres de 1 à 100 à l'aide de la table DUAL, nous pouvons utiliser la clause CONNECT BY. La clause CONNECT BY nous permet d'effectuer des requêtes récursives, utiles pour générer des séquences de nombres, entre autres.
SELECT ROW_NUMBER() OVER (ORDER BY LEVEL) r FROM dual CONNECT BY LEVEL <= 100;
Dans cette requête, la fonction ROW_NUMBER() est utilisée pour générer la séquence de nombres. . La clause OVER (ORDER BY LEVEL) spécifie que les nombres doivent être générés par ordre croissant en fonction de la pseudo-colonne LEVEL. La pseudo-colonne LEVEL représente le niveau de chaque ligne de la hiérarchie créée par la clause CONNECT BY. Dans ce cas, toutes les lignes sont au même niveau, donc la colonne LEVEL contient simplement les valeurs de 1 à 100.
| r | |---|---| | 1 | | 2 | | 3 | | . | | 99 | | 100 |
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!