连接查询之外连接 | 学习笔记

开发者学堂课程【Servlet 入门:连接查询之外连接】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/36/detail/819


连接查询之外连接


内容介绍

一、连接查询


一、连接查询

1.分类

*内连接

*外连接

>左外连接

>右外连接

>全外连接(MySQL不支持)

*自然连接(属于一种简花方式)  

2.内连接

*方言:SELECT * FROM 1 别名1,表2 别名2 WHERE,别名1.xx=别名2.xx

*标准:SELECT * FROM 1 别名1'TNNER JOIN 2.别名2 0N,别名1.xx=别名2.xx

*自然:SELECT * FROM i 别名:NATURAL JOIN 2*别名21 *丙连接查询出的所有记录都满足条件。

3.外连接

*左外:SELECT * FROM 1 别名1 LEFT OUTER JOIN 2 别名2 ON 别名1.xx=别名2.xx

>左表记录无论是否满足条件都会查询出来,而右表只有满足条件才能出来。左表中不满足条件的记录,右表部分都为NULL

*左外自然:SELECT * FROM 1别名1 NATURAL LEFT QUTER JOIN 2 别名2 oN 别名1.xx=别名2.xx

*右外:SELECT * FROM 1别名1 RECHT.OUTER JOIN 2 别名2 ON   别名1.xx=别名2.xx

>右表记录无论是否满是条件都会查询出来,而左表只有满足条件才能出来。右表不满足条件的记录,其左表部分都为NULI

*右外自然: SELECT * FROM 1 别名1 NATURAL RIGHT OUTER JOIN 2 别名2 ON 别名1.xx=别名2.xx

*全链接:可以使用 UNTON 来完成全链接

/*外连接

外连接有一主一次,左外即左表为主!

emp 为主。那么主表中所有的记录无论满足不满足条件,都打印出来 。

当不满足条件时,右表部门使用 NULL 来补位

*/

SELECT e.ename, e.sal, IFNVULL(d.dname,'无部门') AS dname

FROM emp e LEFT OUTER JOIN dept d

ON e.deptno=d.deptno  

SELECT e.ename, e.sal, d.dname

FROM emp e RIGHT OUTER JOIN dept d

ON e.deptno=d.deptno

SELECT * FROM dept;

连接查询之外连接 | 学习笔记连接查询之外连接 | 学习笔记右外、左外和全外:

SELECT e.ename, e.sal, d.dname

FROM emp e LEFT OUTER JOIN dept d

ON e.deptno=d.deptno

UION

SELECT e.ename, e.sal, d.dname

FROM emp e RIGHT OUTER JOIN dept d

ON e.deptno=d.deptno连接查询之外连接 | 学习笔记

上一篇:结合中断上下文切换和进程上下文切换分析Linux内核的一般执行过程


下一篇:hive中order by,sort by, distribute by, cluster by作用以及用法