基本问题。在SQL中,是否有更快的方法使用OR运算符列出SELECT语句中的条件?
目前我在我的陈述中写了多个条件:
SELECT * FROM customers WHERE City = 'Berlin' OR City = 'London' OR
City = 'Dublin';
是否有一种较短的方法可以做到这一点,而不必为每种情况编写'City ='?
答案 0 :(得分:1)
使用IN
:
SELECT c.*
FROM customers c
WHERE c.City IN ('Berlin', 'London', 'Dublin');
除了更简洁之外,这对于长列表也更有效。 MySQL对值列表进行排序,并对长列表使用二进制搜索 - 在大多数情况下比顺序搜索更有效。