gpt4 book ai didi

sql - DB2 INNER JOIN OR 语句

转载 作者:行者123 更新时间:2023-12-02 08:50:38 24 4
gpt4 key购买 nike

我正在为我支持的一个应用程序编写查询,我正在寻找在连接中尝试获取 OR 语句的 DB2 版本时成本更低的方法。因为你不能在

中使用“OR”
Select * 
FROM
TABLE A INNER JOIN TABLE B
ON
A.USERNAME = B.NAME
OR
A.USERNAME = B.USERNAME

我一直在考虑尝试 UNION 或 UNION ALL,但我担心匹配可能需要更长的时间才能返回。

最佳答案

虽然我和其他人一起确认 OR 可以很容易地用于连接条件,就像在任何其他条件中一样(因此您的查询非常好),但您仍然可以不用 OR 在这种特殊情况下。

column = value1 OR column = value2 这样的条件,其中同一列针对许多不同的固定值进行测试,可以转换为 column IN (value1, value2)。后者的效果应该不比前者差,而且最终看起来更清晰。

所以:

SELECT *
FROM
TABLE A
INNER JOIN
TABLE B
ON
A.USERNAME IN (B.NAME, B.USERNAME)

关于sql - DB2 INNER JOIN OR 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8770948/

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