2017-12-01 6 views
1

基本的な質問。 SQLでは、OR演算子を使用してSELECT文の条件をリストするより速い方法がありますか?SQLのOR演算子で区切られた1つのクエリ内の複数の条件

現時点では私はこのような私の文で複数の条件を書いている:

SELECT * FROM customers WHERE City = 'Berlin' OR City = 'London' OR 
City = 'Dublin'; 

は、これを行うための簡単な方法は、おそらく、各条件について「市=」を記述することなく、ありますか?

答えて

1

使用IN

SELECT c.* 
FROM customers c 
WHERE c.City IN ('Berlin', 'London', 'Dublin'); 

より簡潔であることに加えて、これは同様に長いリストのために、より効率的です。 MySQLは値リストをソートし、長いリストのバイナリ検索を使用します。ほとんどの場合、順次検索よりもはるかに効率的です。

+0

これは間違いありません^ – Ryan

+0

パーフェクト。ちょうど学ぶ、あなたの助けに感謝します。 –

関連する問題