代码改变世界

SQL Tuning 基础概述07 - SQL Joins

2015-01-20 20:42 by AlfredZhao, ... 阅读, ... 评论, 收藏, 编辑

N多年之前,刚刚接触SQL的时候,就被多表查询中的各种内连接,外连接,左外连接,右外连接等各式各样的连接弄的晕头转向。

更坑的是书上看到的各种表连接还有两种不同的写法,

比如对于表A,表B的查询

1,内连接两种写法:

select * from A, B where A.id = B.id;

select * from A join B on A.id = B.id;

2,右外连接写法:

select * from A, B where A.id(+) = B.id;

select * from A right join B on A.id = B.id;

3,左外连接写法:

select * from A, B where A.id = B.id(+);

select * from A left join B on A.id = B.id;

而对各个查询结果的区别,也是让人抓狂的记忆。

也许你会说这块知识点很容易理解,但实际对刚接触SQL写法的人群来说还是造成了不少困惑。

网上有一张图片,很好的描述了各个连接的区别,非常清楚明白。

我不是开发人员,这里面的一些连接我至今都没有用到过,但看到这个图时,对SQL Joins就完全懂了。