A voir également:
- Affichage en requete sql
- Affichage double ecran - Guide
- Windows 11 affichage classique - Guide
- Comment agrandir l'affichage de l'écran - Guide
- Problème affichage fenêtre windows 10 - Guide
- Modifier taille affichage outlook - Forum Outlook
1 réponse
vaudzibir
Messages postés
61
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
30 décembre 2013
3
28 déc. 2013 à 21:53
28 déc. 2013 à 21:53
Si tu veux impérativement les deux tu fais :
Et si tu veux soit l'un soit l'autre la tu fais :
Par contre, pour ta requête
ça peut marcher, mais c'est pas propre.
bs
SELECT nom,prenom FROM FRS WHERE ville='gabes' AND ville='sfax
Et si tu veux soit l'un soit l'autre la tu fais :
SELECT nom,prenom FROM FRS WHERE ville='gabes' OR ville='sfax
Par contre, pour ta requête
SELECT nom,prenom FROM FRS WHERE ville IN ('gabes','sfax')
ça peut marcher, mais c'est pas propre.
bs
28 déc. 2013 à 23:06
WHERE ville='gabes' AND ville='sfax' est une absurdité totale. ville ne sera jamais simultanément égal à 'gabes' et à 'sfax'
WHERE ville IN ('gabes','sfax')
ça peut marcher, mais c'est pas propre.
Non seulement ça peut marcher, mais ça va marcher. Et c'est plus propre que le OR : Le OR est à 13,2 sur l'échelle de la propreté, alors que le IN est à 16,7.
28 déc. 2013 à 23:20
Modifié par le père. le 28/12/2013 à 23:56
Peu importe que la ta table ait 1,10,ou 100000 lignes, ça ne change rien à la longueur de la requête.
Mais bon, tu voulais peut-être dire si on veut mettre 100000 villes ? Avec un IN, la requête sera environ 2 fois plus courte qu'avec des OR : Avec un OR, tu rajoutes à chaque fois 'OR ville=' en plus du nom de la ville. Avec un IN, tu rajoutes seulement le nom de la ville.
La notion de 'propreté' n'est pas définie en informatique. Elle n'est n'employée que quand on n'a pas de véritable argument.
Précision : lis la doc mysql sur le IN, tu verras que la recherche est optimisée quand on utilse le IN avec une liste de constantes, alors qu'une série de OR ne garantit aucune optimisation. Non seulement la requête est plus courte, mais elle est plus rapide à l'exécution !
29 déc. 2013 à 12:59
29 déc. 2013 à 13:33
C'est tellement rare les gens qui ne perseverare pas, félicitations ! ;-)