gpt4 book ai didi

SQL 简单查询 - 多条目过滤

转载 作者:太空狗 更新时间:2023-10-30 02:00:47 25 4
gpt4 key购买 nike

新手SQL查询问题:我正在使用 Oracle SQL Developer。

我有一张 table :

<name>  <color>
steve red
mark red
steve green
john red
ryan red

我想做的是让结果只显示颜色列中包含红色的名称。
结果将是:

     mark
john
ryan

因为史蒂夫也有绿色,所以它不会出现。

有人知道吗?

编辑:
谢谢你的回答。我确实看到我应该在结果中说“红色,没有其他颜色”。抱歉造成混淆,但感谢您的超快速回复!

最佳答案

您只需使用 WHERE 子句和 NOT IN 进行查询。

SELECT name
FROM yourTable
WHERE color = 'red'
AND name NOT IN (
SELECT name
FROM yourTable
WHERE color <> 'red'
)

参见SQL Fiddle with Demo

或者您可以将 WHERENOT EXISTS 一起使用:

SELECT name
FROM yourTable t1
WHERE color = 'red'
AND NOT EXISTS (
SELECT t2.name
FROM yourTable t2
WHERE t2.color <> 'red'
AND t1.name = t2.name
)

参见SQL Fiddle with Demo

关于SQL 简单查询 - 多条目过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12150098/

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