【问题标题】:Adding multiple strings in WHERE clause - SQL在 WHERE 子句中添加多个字符串 - SQL
【发布时间】:2016-09-28 19:18:24
【问题描述】:

为了记录,我是 SQL 的新手。我正在练习并熟悉语法,以及它的结构。我使用this website 作为 SQL 速成课程。如果您点击链接并查看问题 #5,说明指示仅提取与法国、德国和意大利三个国家相关的数据。

我的困境是我不明白应该如何构造多个字符串。

这是我的代码:

SELECT name, population
FROM world
WHERE name = 'france';

上面的代码将生成一个包含两个选定列的表,以及包含法国数据的行,但我仍然需要另外两行数据。但是,当我尝试对其进行编辑以达到我需要的结果时,它将无法正常工作:

SELECT name, population
FROM world
WHERE name = 'germany' 'france' 'italy';

上面的代码只产生列,行消失。我需要我的表格包括所有三个国家的名称和人口。我已经搜索了一个关于如何正确添加多个字符串的简单答案,但没有找到任何结论性的答案。

虽然我的问题比较简单,但还是向大家求助,请大家帮忙!

谢谢!

【问题讨论】:

  • SELECT name, population FROM world WHERE name IN ( 'germany' , 'france', 'italy');
  • Select basics上的第二个例子。

标签: sql string add where-clause


【解决方案1】:

尝试使用IN 运算符,它允许您在WHERE 子句中创建多个值。

您的代码应如下所示:

SELECT name, population 
FROM   world 
WHERE  name IN ('france','Germany','Italy');

【讨论】:

  • 非常感谢!
【解决方案2】:

您可以在WHERE 子句中放置许多条件。使用ANDOR 将它们组合起来(在需要时使用括号,例如where a = 1 and (b = 2 or c = 3))。所以你的查询可以写成

SELECT name, population
FROM world
WHERE name = 'germany' OR name = 'france' OR name = 'italy';

然而,正如已经展示的那样,当查找一个属性的多个值时,您可以用 IN 子句替换所有 OR:

WHERE name IN ('germany', 'france', 'italy')

这更易读,因此更可取。

【讨论】:

  • 非常感谢!
猜你喜欢
  • 1970-01-01
  • 2014-09-26
  • 1970-01-01
  • 2012-12-09
  • 2021-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多