2 votes

Chiffres dans les instructions SELECT

J'ai rencontré des requêtes SQL du type 'SELECT 1 FROM TABLE_NAME' ou 'SELECT 2 FROM TABLE_NAME' lors du débogage d'un programme. Je suis curieux de savoir ce que font les nombres dans les requêtes et quel est l'ensemble des résultats renvoyés.

Remerciements

5voto

astander Points 83138

Il renvoie une colonne unique contenant le nombre comme valeur, avec n lignes, n étant le nombre de lignes renvoyées par la sélection.

Ceci est utile dans des cas tels que

SELECT *
FROM YourTable yt
WHERE EXISTS(
    SELECT 1
    FROM SomeOtherTable sot
    WHERE yt.ID = sot.ID
    )

Par ailleurs, un bon article est disponible à l'adresse suivante SELECT 1 vs SELECT * - Une observation intéressante

1voto

Sid Points 31

Select 1 from your_table --> Lors de l'exécution, vous obtenez la valeur 1 pour chaque ligne de your_table.

Select *" et "Select 1 ou 2" ont les mêmes performances lorsqu'ils sont exécutés sans condition d'existence. Personnellement, je préfère utiliser "Select 1 ou 2" lorsqu'il existe des conditions de vérification des lignes existantes, car il est légèrement plus rapide, par exemple lors d'une requête avec des VIEWS ou des tables temporaires comportant des millions de lignes et de nombreuses colonnes.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X