Mysql链接查询

1、Mysql链接查询

1.1、自连接

自连接:两张关联表都是同一张表,通过自身关联来查询

 1.1.1、查询每个员工的员工编号、员工姓名、领导编号、领导姓名

分析:员工编号、姓名在员工表,领导编号、姓名也在员工表

SELECT e.ENAME,e.EMPNO,e.MGR,m.ENAME from emp e,emp m where e.MGR = m.EMPNO; -- 关联查询

 

1.2、左链接:

左链接:以左表为主,左表的数据全部显示,右表的数据如果匹配到了就显示,没有匹配到就用空值代替

要求:查询所有员工的员工编号、员工姓名、部门编号、部门名称

SELECT e.ENAME,e.EMPNO,e.MGR,m.ENAME from emp e LEFT JOIN emp m on(e.MGR = m.EMPNO);

左链接分析:

 

1.3右链接:

右链接:以右表为主,右边的数据全部显示,左边的数据如果显示到了就显示,没有匹配到用空值代替

要求:查询所有部门下的员工编号、员工姓名、部门编号、部门名称: 

 SELECT e.ENAME,e.EMPNO,e.MGR,m.ENAME from emp e RIGHT JOIN emp m on(e.MGR = m.EMPNO);

1.4、结果集合并:

将两个查询结果集合并,可以通过UNION、UNION ALL

面试题:unnion、union all区别:

UNION:返回查询结果的全部内容,重复数据不显示

UNION ALL:返回查询结果的全部内容,重复数据也显示

示例:

UNION

UNION ALL:

发布了143 篇原创文章 · 获赞 40 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/LemonSnm/article/details/95364234