博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
跟小博老师一起学习数据库 ——外连接
阅读量:7153 次
发布时间:2019-06-29

本文共 660 字,大约阅读时间需要 2 分钟。

hot3.png

昨天和大家聊了外连接的概念和语法,今天我们一起就做点练习。

先看下要使用的表(emp、dept、salgrade)结构和表关系

006zipb5zy7aeZJ0rh53f&690 

我们看到以上的语句把emp、dept表内的记录交叉组合,产生了迪卡尔积效应。

006zipb5zy7aeZKltgc78&690 

l 左外连接

006zipb5zy7aeZKX8Or3f&690 

从结果上可看到emp表中最后一条虽没有部门编号也查询出来,符合左外连接的定义。

006zipb5zy7aeZLVePea8&690 

l 右外连接

006zipb5zy7aeZMIgiJ49&690 

右表dept中编号为40的部门虽没有员工也给查询了出来。

006zipb5zy7aeZQl9CBf5&690 

l 自连接

以上查询中连接的都不是不同表,而所谓的自连接是参与连接的表都是同一张表,只是给表取不同的别名。

还记得之前小傅老师给大伙留的一个题目:

Ø 查询员工的基本信息和他的直级上领导姓名

由于领导也是员工信息也保存在emp表内,针对这类题目就可采用连接处理。

006zipb5zy7aeZXC9YK3a&690 

结果

006zipb5zy7aeZY2tdi3c&690 

分为:

1.CROSS JOIN:产生迪卡尔积。

2.INNERT JOIN:查询所有匹配的项。

3.OUTER JOIN

   外连接分为:

     1) LEFT OUTER JOIN/LEFT JOIN:显示左表的所有项,右表没有匹配的项,则以null显示。

     2) RIGHT OUTER JOIN/RIGHT JOIN:显示右表的所有项,左表没有匹配的项,则以null显示。

     3) FULL OUTER JOIN/FULL JOIN:显示所有匹配和不匹配的项,左右两张表没有匹配的,都以null显示。

4.SELF JOIN:把一张表取两个别名,当做两张表来使用,自己和自己关联。

006zipb5zy7aeZYN2MZfd&690 

转载于:https://my.oschina.net/u/2971691/blog/877513

你可能感兴趣的文章
netty入门04
查看>>
本地计算机 上的 MySQL 服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。...
查看>>
调用系统拍照
查看>>
解方程
查看>>
Java——IO之常量及路径
查看>>
DKhadoop安装包下载与监控参数说明
查看>>
Linux-3.5-Exynos4412驱动分层分离
查看>>
Linux shell break、continue、exit、return的用法 及exit、return的区别
查看>>
手动实现 SpringMVC
查看>>
thinkphp 验证码的使用
查看>>
HTML5学习笔记
查看>>
Eclipse helios 上编写arduino程序并进行烧录
查看>>
基于ArcGIS10.0和Oracle10g的空间数据管理平台二(C#开发)-登录功能模块
查看>>
NSUserDefaults保存应用中的数据
查看>>
安装gevent错误/gevent/core.so: undefined symbol: event_global_current_base_ 的解决方案
查看>>
XML序列化点滴
查看>>
Android游戏与应用开发最佳学习路线图
查看>>
【转】NSJSONSerialization解析JSON数据
查看>>
POJ 3252 Round Numbers(数学问题)
查看>>
本地使用CVS
查看>>