gpt4 book ai didi

mysql - 使用选择在其他表中查找值

转载 作者:行者123 更新时间:2023-11-29 21:16:43 25 4
gpt4 key购买 nike

我不太明白:

我有两张 table ;表一名为EthnicGroup;该表存储了国家/地区代码、种族名称和该种族的百分比。

在我的第二个名为 Country 的表中,我存储了以下内容:名称(国家/地区名称)、代码(该国家/地区代码)和其他一些与此问题无关的内容

通过以下查询,我从 EthnicGroup 表中选择国家/地区代码,这些国家/地区有超过 7 个不同的种族。

SELECT 
country
FROM
EthnicGroup
GROUP BY country
HAVING (COUNT(*) > 7)
ORDER BY country

我使用此代码得到下表:

国家

EAK,EAU、IR、SK

我现在需要通过选择这些国家代码对应的国家来找出这些国家代码对应的国家。我尝试了一些不同的操作,例如在使用上面的选择命令之前使用选择命令:

SELECT
Name
FROM
Country
WHERE(
SELECT
country
FROM
EthnicGroup
GROUP BY country
HAVING (COUNT(*) > 7)
ORDER BY country)

我几乎可以肯定我已经非常接近答案了。如果有人能帮助我找到解决方案,我将不胜感激

最佳答案

对于此类选择,您需要在 where 子句中添加一个条件。子查询(实际上)不是条件。 MySQL确实接受子查询;如果返回值 0 则为 false,非零值则为 true。

就您的目的而言,in 是适当的逻辑运算符:

SELECT Name
FROM Country
WHERE code IN (SELECT country
FROM EthnicGroup
GROUP BY country
HAVING COUNT(*) > 7
);

另请注意,IN 子查询不需要(也不应该有)ORDER BY 子句。

关于mysql - 使用选择在其他表中查找值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35877830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com