一个查询中的多个条件由SQL中的OR运算符分隔

时间:2017-12-01 22:05:05

标签: mysql sql

基本问题。在SQL中,是否有更快的方法使用OR运算符列出SELECT语句中的条件?

目前我在我的陈述中写了多个条件:

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

是否有一种较短的方法可以做到这一点,而不必为每种情况编写'City ='?

1 个答案:

答案 0 :(得分:1)

使用IN

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

除了更简洁之外,这对于长列表也更有效。 MySQL对值列表进行排序,并对长列表使用二进制搜索 - 在大多数情况下比顺序搜索更有效。