在WHERE子句中添加多个字符串 - SQL

时间:2016-09-28 19:18:24

标签: sql string add where-clause

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

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

这是我的代码:

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

上面的代码将生成一个包含所选列的表,以及包含France数据的行,但我还需要另外两行包含数据。但是,当我尝试编辑它以实现我需要的结果时,它将无法工作:

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

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

尽管我的问题相对简单,但我仍然寻求所有人的帮助,所以请帮忙!

谢谢!

2 个答案:

答案 0 :(得分:10)

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

您的代码应如下所示:

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

答案 1 :(得分:0)

您可以在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')

更具可读性,因此更受欢迎。

相关问题