SELECT * FROM table WHERE 1

Résolu/Fermé
Allen1210 Messages postés 361 Date d'inscription lundi 14 juin 2010 Statut Membre Dernière intervention 28 avril 2017 - 2 janv. 2011 à 17:46
HostOfSeraphim Messages postés 6750 Date d'inscription jeudi 2 février 2006 Statut Contributeur Dernière intervention 31 juillet 2016 - 2 janv. 2011 à 18:59
Bonjour, je me suis demandé à quoi servait le "WHERE 1".

D'après moi, il ne sert à rien puisque la condition, devenant vrai tout le temps, "SELECT * FROM table" est équivalent.

S.V.P. Dites-moi si j'ai raison.




Il n'y a jamais rien pour rien OU je pourrais avoir réponse à tout.
Cordialement Allen.

2 réponses

HostOfSeraphim Messages postés 6750 Date d'inscription jeudi 2 février 2006 Statut Contributeur Dernière intervention 31 juillet 2016 1 607
2 janv. 2011 à 18:59
Effectivement, SELECT * FROM table et SELECT * FROM table WHERE 1 sont identiques.

Ce "1" sert parfois pour de l'injection SQL, dans le cas où on voudrait lister la table entière. Ca peut être "1", "1=1", etc.

3
Utilisateur anonyme
2 janv. 2011 à 17:48
Salut, forcément il ne sert à rien, il n'y a aucun test. On met ça parfois pour créer des requêtes automatiquement ou on vient remplacer le 1 à la fin par quelque chose.
0
Allen1210 Messages postés 361 Date d'inscription lundi 14 juin 2010 Statut Membre Dernière intervention 28 avril 2017 56
2 janv. 2011 à 18:20
Merci. J'aimerais avoir un autre avis donc je laisse en non-résolu...
0