gpt4 book ai didi

sql - 使用 IN 列表进行外部连接?

转载 作者:行者123 更新时间:2023-12-01 10:14:51 26 4
gpt4 key购买 nike

我想只使用一个项目列表来查找表中的命中和未命中,而不必创建一个新表来包含列表项目并且不使用任何脚本。我一整天都会做很多临时查询,所以这很有用。

这是我现在使用的示例:

SELECT custid, name, email  
FROM customers
WHERE custid IN
('1111', '2222', '3333', '4444')

这将返回客户表中客户 ID 与我提供的列表中匹配的所有条目。

我想找到一种方法来返回像 OUTER JOIN 这样的结果,在那里我可以看到匹配项和未命中项。

仅供引用:我正在使用 MS SQL Server,但能够在 mySQL 中执行此操作也会很有用。谢谢!

最佳答案

有几种方法可以做到这一点。这里有两个:
SELECT C1.custid, name, email, C2.CustID As Match
FROM customers As C1 left join (SELECT custid
FROM customers

WHERE custid IN

('1111', '2222', '3333', '4444')) As C2 on C1.custid=C2.custid

如果它是其中一个数字,则匹配列中将有一个数字(4 个之一)。或者:
SELECT custid, name, email, Case When custid in ('1111', '2222', '3333', '4444') Then 'Match' Else '' End As IsMatch
FROM customers

如果它是四个值之一,则 IsMatch 列将显示“匹配”。

第二个通常会更快。

关于sql - 使用 IN 列表进行外部连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2072688/

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