oracle 左连接 简写,SQL左连接

原标题:SQL左连接

今天分享一下开发中何时运用左连接进行关联查询(大牛请忽视~)。

废话不多说,直接上表结构。只有两张表作为例子,Person表为人员信息,Types为人员类型辅助表,没有定义外键关联。

记住这句话——运用左连接时肯定有一张表为主表,另一张表为辅表!

oracle 左连接 简写,SQL左连接_第1张图片

图1.Person表

oracle 左连接 简写,SQL左连接_第2张图片

图2.类型表

现在我们要对两张表进行关联查询,查询出每个人员类型的描述信息

oracle 左连接 简写,SQL左连接_第3张图片

图3.两张表进行关联查询

从查询结果我们看的出Adam没有显示出来,原因很简单因为Adam的type为 B ,而 B 在Types表中并不存在。在实际开发中往往都是这种情况,不管你关联了什么辅表,所有的人员都应该被查询出来,因为Person表为主表!(当然这是看业务需求,并不绝对)

So,现在我们就应该用左连接进行查询出所有人员的信息。

oracle 左连接 简写,SQL左连接_第4张图片

图3.进行左连接查询

结果可以满足我们的要求——显示主表的所有数据。

拓展:

在Oracle中,有另一种简单的写法见下图

oracle 左连接 简写,SQL左连接_第5张图片

图4.Oracle左连接简便写法

Oracle语法定义为,所有的表都放在from后边,where条件里进行关联,所有主表要关联的字段都放在 = 左边,所有辅表所关联的字段都放在 = 右边(+)。

但是前些天写了简便的左连接,被我的开发leader军训了,因为关联了13张表,导致条件太多,维护起来特别麻烦!所以呢这里给大家一个建议,Oracle查询中2、3张表进行左连接可以用简便的写法,如果关联的表太多的话墙裂不推荐使用左连接!

oracle 左连接 简写,SQL左连接_第6张图片

图5.简写左连接被训案例

最后,进行多表关联是,表的别名也要起的规范点,让人一眼就知道对应的哪张表,这样会减轻后人维护所需的成本。

今天就到这里了,下次整理些Oracle常用且好用的函数~~~~。返回搜狐,查看更多

责任编辑:

你可能感兴趣的:(oracle,左连接,简写)