ORACLE中左外连接和右外连接的区别是什么?请详细点解答

2024-12-29 17:38:03
推荐回答(3个)
回答1:

左外连接,以左为基础,右边满足条件的就展示,左边都显示;右外连接同理

回答2:

给你举个例子,先看看能否明白。
SQL> select * from t1;

ID NAME
--------------------------------- ----------
1 bob
2 luna
3 pig
4 duck
5 kosh

SQL> select * from t2;

ID SCORE
------------------------------------- ----------
1 200

SQL> select * from t1 left outer join t2 on(t1.id=t2.id);

ID NAME ID SCORE
-------------------------------- ---------- --------------------------------------- ----------
1 bob 1 200
5 kosh
4 duck
3 pig
2 luna

SQL> select * from t1 right outer join t2 on(t1.id=t2.id);

ID NAME ID SCORE
-------------------------------- ---------- ----------------------------------------- ----------
1 bob 1 200

其实就是和谁对齐的问题:
t1 left join t2 :t2数据以t1为准对齐,如上第一例子,不足内容补为空值
t1 right join t2: t1数据以t2为准对齐,如上第二例子,多于内容截掉不显示

回答3:

左外连接会列出符合on相等条件的同时 全部左边表的记录
比如 A 表 id字段 123 B表id字段125
select * from a left join b on a.id=b.id 这样就会列出两列 分别是123和12
右外连接同理 列出12和125