我正在为我支持的一个应用程序编写查询,并且我正在寻找在尝试在连接中获取DB2版本的OR语句时会花费更少的内容.因为你不能在里面使用"OR"
Select *
FROM
TABLE A INNER JOIN TABLE B
ON
A.USERNAME = B.NAME
OR
A.USERNAME = B.USERNAME
Run Code Online (Sandbox Code Playgroud)
我一直在寻找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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31850 次 |
| 最近记录: |