Affichage en requete sql
alolou007
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
g un tableau comme ce lui ci
FRS(cod f,nom ,prenom,adresse ,ville) cod f clé primaire je voudrais savoir si je veus chercher tt les nom et prenom des fournisseur(FRS) de gabes et sfax(se sont des ville)
select nom,prenom from FRS where ville='gabes' or ville='sfax
select nom,prenom from FRS where ville IN ('gabes','sfax')
est ce correct???
c en requete SQL
et merci d'avance de m'aider
g un tableau comme ce lui ci
FRS(cod f,nom ,prenom,adresse ,ville) cod f clé primaire je voudrais savoir si je veus chercher tt les nom et prenom des fournisseur(FRS) de gabes et sfax(se sont des ville)
select nom,prenom from FRS where ville='gabes' or ville='sfax
select nom,prenom from FRS where ville IN ('gabes','sfax')
est ce correct???
c en requete SQL
et merci d'avance de m'aider
A voir également:
- Affichage en requete sql
- Affichage double ecran - Guide
- Windows 11 affichage classique - Guide
- Problème affichage fenêtre windows 10 - Guide
- Logiciel sql - Télécharger - Bases de données
- Problème affichage page internet google chrome ✓ - Forum Google Chrome
1 réponse
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
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.
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 !
C'est tellement rare les gens qui ne perseverare pas, félicitations ! ;-)