Question
Existe-t-il un moyen de sélectionner des données pour lesquelles l'une des multiples conditions se produit sur le même champ ?
Exemple:J'écrirais généralement une déclaration telle que :
select * from TABLE where field = 1 or field = 2 or field = 3
Existe-t-il un moyen de dire quelque chose comme :
select * from TABLE where field = 1 || 2 || 3
Toute aide est appréciée.
La solution
Bien sûr, le moyen le plus simple est le suivant :
select foo from bar where baz in (1,2,3)
Autres conseils
select * from TABLE where field IN (1,2,3)
Vous pouvez également facilement combiner cela avec une sous-requête qui ne renvoie qu'un seul champ :
select * from TABLE where field IN (SELECT boom FROM anotherTable)
OU:
SELECT foo FROM bar WHERE baz BETWEEN 1 AND 3
sélectionnez * dans TABLE où le champ dans (1, 2, 3)
WHERE field IN (1, 2, 3)
Vous pouvez toujours l'utiliser pour
select *
from table
where field = '1' or field = '2' or field = '3'
c'est juste
select * from table where field in ('1','2','3')
alors que in
est un raccourci pour or
et je ne savais pas comment combiner in
avec and
, je l'ai fait de cette façon
SELECT * FROM table
WHERE column1='x' AND (column2='y' OR column2='z');
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow