【问题标题】:Multiple conditions in one query separated by OR operator in SQLSQL 中以 OR 运算符分隔的一个查询中的多个条件
【发布时间】:2017-12-02 06:12:31
【问题描述】:

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

目前我在我的语句中写了多个条件,如下所示:

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

有没有更短的方法可以做到这一点,而不必为每个条件写 'City =',也许?

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    使用IN:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-11
      • 1970-01-01
      • 2020-05-18
      • 2021-05-26
      • 1970-01-01
      • 1970-01-01
      • 2012-12-30
      • 2014-08-08
      相关资源
      最近更新 更多