(1) 外连接
- SQL1992语法(MySql不支持)
- 左外连接
- 右外连接
- 全外连接
- SQL1999语法
- 左外连接:LEFT [OUTER] JOIN ON
- 右外连接:RIGHT [OUTER] JOIN ON
- 全外连接: FULL [OUTER] JOIN ON , (MySql不支持)
(2) 自然连接(不常用)
大家也都知道,连接查询会产生无用笛卡尔积,我们通常使用主外键关系等式来去除它。而自然连接无需你去给出主外键等式,它会自动找到这一等式:
- 两张连接的表中名称和类型完成一致的列作为条件,例如emp和dept表都存在deptno列,并且类型一致,所以会被自然连接找到!如果两个表中有一对字段名称相同,字段类型不同,会报错。
- 当两个表中有多对名称和类型完全一致的字段,自然连接会自动把这多对字段都会当做等值条件。
- 自然连接的代码
SELECt * FROM emp NATURAL JOIN dept;
SELECt * FROM emp NATURAL LEFT JOIN dept;
SELECt * FROM emp NATURAL RIGHT JOIN dept;
(3) JOIN连接查询小结
案例:
| ①简单的两表连接案例:查询员工名和部门名②添加筛选条件案例1:查询部门编号20的部门信息和员工信息案例2: 查询有奖金的员工名、部门名③添加分组+筛选案例:查询部门中员工个数>4的部门名称④添加分组+筛选+排序案例:查询部门中员工个数>4的部门名,并按部门名降序⑤三表连接案例:查询员工名、部门名、工资级别⑹外连接+分组+筛选案例: 查询哪个部门没有员工 |
| ①简单的两表连接案例:查询员工名和部门名②添加筛选条件案例1:查询部门编号20的部门信息和员工信息案例2: 查询有奖金的员工名、部门名③添加分组+筛选案例:查询部门中员工个数>4的部门名称④添加分组+筛选+排序案例:查询部门中员工个数>4的部门名,并按部门名降序⑤三表连接案例:查询员工名、部门名、工资级别⑹外连接+分组+筛选案例: 查询哪个部门没有员工 |
| ①简单的两表连接案例:查询员工名和部门名②添加筛选条件案例1:查询部门编号20的部门信息和员工信息案例2: 查询有奖金的员工名、部门名③添加分组+筛选案例:查询部门中员工个数>4的部门名称④添加分组+筛选+排序案例:查询部门中员工个数>4的部门名,并按部门名降序⑤三表连接案例:查询员工名、部门名、工资级别⑹外连接+分组+筛选案例: 查询哪个部门没有员工 |
| ①简单的两表连接案例:查询员工名和部门名②添加筛选条件案例1:查询部门编号20的部门信息和员工信息案例2: 查询有奖金的员工名、部门名③添加分组+筛选案例:查询部门中员工个数>4的部门名称④添加分组+筛选+排序案例:查询部门中员工个数>4的部门名,并按部门名降序⑤三表连接案例:查询员工名、部门名、工资级别⑹外连接+分组+筛选案例: 查询哪个部门没有员工 |
| ①简单的两表连接案例:查询员工名和部门名②添加筛选条件案例1:查询部门编号20的部门信息和员工信息案例2: 查询有奖金的员工名、部门名③添加分组+筛选案例:查询部门中员工个数>4的部门名称④添加分组+筛选+排序案例:查询部门中员工个数>4的部门名,并按部门名降序⑤三表连接案例:查询员工名、部门名、工资级别⑹外连接+分组+筛选案例: 查询哪个部门没有员工 |
| ①简单的两表连接案例:查询员工名和部门名②添加筛选条件案例1:查询部门编号20的部门信息和员工信息案例2: 查询有奖金的员工名、部门名③添加分组+筛选案例:查询部门中员工个数>4的部门名称④添加分组+筛选+排序案例:查询部门中员工个数>4的部门名,并按部门名降序⑤三表连接案例:查询员工名、部门名、工资级别⑹外连接+分组+筛选案例: 查询哪个部门没有员工 |
| ①简单的两表连接案例:查询员工名和部门名②添加筛选条件案例1:查询部门编号20的部门信息和员工信息案例2: 查询有奖金的员工名、部门名③添加分组+筛选案例:查询部门中员工个数>4的部门名称④添加分组+筛选+排序案例:查询部门中员工个数>4的部门名,并按部门名降序⑤三表连接案例:查询员工名、部门名、工资级别⑹外连接+分组+筛选案例: 查询哪个部门没有员工 |
| ①简单的两表连接案例:查询员工名和部门名②添加筛选条件案例1:查询部门编号20的部门信息和员工信息案例2: 查询有奖金的员工名、部门名③添加分组+筛选案例:查询部门中员工个数>4的部门名称④添加分组+筛选+排序案例:查询部门中员工个数>4的部门名,并按部门名降序⑤三表连接案例:查询员工名、部门名、工资级别⑹外连接+分组+筛选案例: 查询哪个部门没有员工 |
| ①简单的两表连接案例:查询员工名和部门名②添加筛选条件案例1:查询部门编号20的部门信息和员工信息案例2: 查询有奖金的员工名、部门名③添加分组+筛选案例:查询部门中员工个数>4的部门名称④添加分组+筛选+排序案例:查询部门中员工个数>4的部门名,并按部门名降序⑤三表连接案例:查询员工名、部门名、工资级别⑹外连接+分组+筛选案例: 查询哪个部门没有员工 |
| ①简单的两表连接案例:查询员工名和部门名②添加筛选条件案例1:查询部门编号20的部门信息和员工信息案例2: 查询有奖金的员工名、部门名③添加分组+筛选案例:查询部门中员工个数>4的部门名称④添加分组+筛选+排序案例:查询部门中员工个数>4的部门名,并按部门名降序⑤三表连接案例:查询员工名、部门名、工资级别⑹外连接+分组+筛选案例: 查询哪个部门没有员工 |
| ①简单的两表连接案例:查询员工名和部门名②添加筛选条件案例1:查询部门编号20的部门信息和员工信息案例2: 查询有奖金的员工名、部门名③添加分组+筛选案例:查询部门中员工个数>4的部门名称④添加分组+筛选+排序案例:查询部门中员工个数>4的部门名,并按部门名降序⑤三表连接案例:查询员工名、部门名、工资级别⑹外连接+分组+筛选案例: 查询哪个部门没有员工 |
| ①简单的两表连接案例:查询员工名和部门名②添加筛选条件案例1:查询部门编号20的部门信息和员工信息案例2: 查询有奖金的员工名、部门名③添加分组+筛选案例:查询部门中员工个数>4的部门名称④添加分组+筛选+排序案例:查询部门中员工个数>4的部门名,并按部门名降序⑤三表连接案例:查询员工名、部门名、工资级别⑹外连接+分组+筛选案例: 查询哪个部门没有员工 |
想要了解跟多关于Java培训课程内容欢迎关注达内java培训,达内除了这些技术文章外还有免费的高质量java培训课程视频供广大学员下载学习。
本文链接:
本文章“Java编程学习连接查询之外连接”已帮助 112 人
免责声明:本信息由用户发布,本站不承担本信息引起的任何交易及知识产权侵权的法律责任!
本文由赋能网 整理发布。了解更多培训机构》培训课程》学习资讯》课程优惠》课程开班》学校地址等机构信息,可以留下您的联系方式,让课程老师跟你详细解答:
咨询热线:4008-569-579



