自然连接在oracle中相当简单。 select a.id,a.name,b.qty from a,b where a.id = b.id; 相当于select a.id,a.name,b.qty from a inner join b on a.id = b.id;在oracle 中只有一种外连接(9i以前版本)称为outer join,语法是(+) 例如: 表A id name 1 aa 2 bb 3 cc 4 dd表B id qty 1 12 3 33用外连接: select a.id,a.name,b.qty from a,b where a.id = b.id(+); 得到: id name qty 1 aa 12 2 bb 3 cc 33 4 dd注意(+)要一般放在短表的一方。这可能就是你说的左连接,右连接。 (+)的左右位置不同代表不同的外连接。 全外连接,我不是很清楚,估计也能用(+)改写。
select a.id,a.name,b.qty from a,b where a.id = b.id;
相当于select a.id,a.name,b.qty from a inner join b on a.id = b.id;在oracle 中只有一种外连接(9i以前版本)称为outer join,语法是(+)
例如:
表A
id name
1 aa
2 bb
3 cc
4 dd表B
id qty
1 12
3 33用外连接:
select a.id,a.name,b.qty from a,b
where a.id = b.id(+);
得到:
id name qty
1 aa 12
2 bb
3 cc 33
4 dd注意(+)要一般放在短表的一方。这可能就是你说的左连接,右连接。
(+)的左右位置不同代表不同的外连接。
全外连接,我不是很清楚,估计也能用(+)改写。