IN() 中的 MySQL 子查询

标签 mysql sql

这是我的第一篇文章,我是 SQL 的初学者,所以真的希望你们能帮助我解决这个问题。

当我要在IN()里面写子查询时,只能写一个子查询。如果我再输入一个就会出错。我不知道为什么。希望有人能帮忙

这很好用:

SELECT name, continent
FROM world
WHERE continent IN (SELECT continent FROM world WHERE name ='belize')

但是每当我再输入一个子查询时,就会出现错误。

SELECT name, continent
FROM world
WHERE continent IN (SELECT continent FROM world WHERE name ='belize',
                    SELECT continent FROM world WHERE name ='belgium')

如果有人可以帮助我,我将不胜感激。非常感谢。

最佳答案

因为您是从同一个表中SELECTing 的,所以您可以使用OR 组合这两个语句。条件。

SELECT name, continent FROM world 
WHERE continent IN 
(
SELECT continent FROM world 
WHERE name = 'belize' 
OR name = 'belgium'
);

关于IN() 中的 MySQL 子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29191776/

相关文章:

sql - Access : Update query with count in subquery - error or all results

mysql 在值中展开一个字段循环并创建一个新列,其标题与这些值相关联

mysql - 在 MySQL 中声明变量语法无效?

mysql - SQL 类型 NOW() 不工作

sql - 使用 SQL Server 替换函数替换字符串 - 字符串超过 4000 个字符 - 怎么办?

sql - 从 TimescaleDB 获取 1 年的结果

MySQL Sum positive and negative - 计算货币交易的确切总数

python - Django icontains 多关系查询检索重复行

php - 如何获取 Joomla 文章的标题?

MySQL从一组列中查找最大计数