在学习oracle sql教程,连接查询时,遇到了(+)的用法。
(+)主要用在外连接查询,记住它永远在显示较少行的一端。
比如,要你显示所有雇员和他们上司,在这里,上司的顶端是没有上级的了,但是他一样是公司雇员,比如董事长。所以雇员列就比对应的上司列要显示较多行。语句如下:
select a.first_name 雇员,b.first_name 上司
from emp a, manager b
where a.manager_id=b.id(+);
使用它时,注意以下几点:
1. 如果在where子句中包含有多个条件,则必须在所有条件中使用(+): where a.manager_id=b.id(+) and b.id(+)=42;
2. (+)只适用于列,不适用于表达式。
3. 不能与on和in一起使用。