如何取得table1.field3 = table2.field3的字段,加上table1.field3 is null的字段?

son 2004-11-21 07:39:17
select distinct
table1.field1,table1.field2
from table1, table2
where table1.field3 = table2.field3 or table1.field3 is null
这个sql语句比较慢,有没有好办法。

...全文
106 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
KingSunSha 2004-11-21
  • 打赏
  • 举报
回复
SELECT DISTINCT field1, field2
FROM table1 x
WHERE table1.field3 IS NULL
OR EXISTS (SELECT 1
FROM table2
WHERE field3 = x.field3);

DISTINCT操作本身就比较慢,如果能保证field1, field2在table1中没有重复,那就不需要DISTINCT。可以提高效率。

SQL优化中最重要的是分析执行计划,如果你能够贴出执行计划,讨论起来就比较容易。

17,078

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧