oracle 中能不能实现先查询第一张表,如果第一张表有记录,则不查第二张表,通过SQL语句可以实现吗?

[复制链接]
查看11 | 回复3 | 2011-7-13 17:07:55 | 显示全部楼层 |阅读模式
原来的实现通过union来进行实现的,查了两张表,现在优化一下,如果第一张表有数据,则不查第二张表,一条SQL语句实现。

回复

使用道具 举报

千问 | 2011-7-13 17:07:55 | 显示全部楼层
上面说的没错,一句话实现不了,用PLSQL的话没有问题,不过实现的东西和你之前的UNION两张表是有区别的,仅仅是想优化一下的话,可以把UNION改成UNION ALL。...
回复

使用道具 举报

千问 | 2011-7-13 17:07:55 | 显示全部楼层
一条SQL语句可能实现不了,你可以写PL/SQL用IF来做,条件可以用SELECT count(*) from 表;如果COUNT(*)>0即有记录,=0就是无记录...
回复

使用道具 举报

千问 | 2011-7-13 17:07:55 | 显示全部楼层
这个sql我估计是不能的了。我感觉这个不应该在sql上来优化,因为这个是业务层的事。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行