mysql的多表查询实现方法

  介绍

本篇文章给大家分享的是有关mysql的多表查询实现方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

多表查询有3种方式,分别是:1,传统方式,包括左外连接查询,右外连接查询,完全外链接查询;2,子查询方式,包括单行查询,多行查询;3、聚合查询方式,包括求和,平均查询,记录总数。

<强>多表查询有3种方式,分别是:

<强>一、传统方式

/*——传统连接方式——*/选择e.ename d.dname      从部门d, emp e      d.deptno=e.deptno/*——自然加入两张表中只有一个同名栏位时行连接,*/选择e.ename d.dname      从部门d         自然加入emp e/*——使用两个表中有多个同名栏位时,*/选择e.ename d.dname      从部门d加入emp e      使用(deptno)

1,左外连接查询

/*——左外连结左表的全部记录(部门表中的所有记录:demp)——*//*——方式1——*/选择e.ename, d。dname从部门d左外连接emp e      在d.deptno=e.deptno/*——方式2——*/选择e.ename d.dname      从部门d, emp e      d.deptno=e.deptno (+)

2,右外连接查询

/*——左外连结左表的全部记录(部门表中的所有记录:demp)——*//*——方式1——*/选择e.ename, d。dname从部门d左外连接emp e      在d.deptno=e.deptno/*——方式2——*/选择e.ename d.dname      从部门d, emp e      d.deptno=e.deptno (+)

3,完全外链接查询

/*,完全外连结(匹配与不匹配)——(包括部门表及员工表中的所有记录)*/选择e.ename, d。完全外连接dname从部门d emp e      d.deptno=e.deptno

<强>二、子查询(单、多行)

1,单行查询

/*——子查询(单行,多行)——*/从emp选择*      萨尔比;(选择avg (sal)从emp)/*——单行子查询可以引用(=?、>=??=?>)操作符*/select * from emp e      e.deptno=(从部门选择d.deptno d d.deptno=1)

2,多行查询

/*——多行子查询可以引用(,,)操作符*/select * from emp e      在e.deptno(从部门选择d.deptno d)/*——任何比较返回值中的任何一个,其中一个满足,则返回实现了——*/select * from emp e      在e。萨尔& lt;任何(选择萨尔从emp deptno=2)/*——所有比较返回值中的所有,全部满足,则返回实现了——*/select * from emp e      在e。萨尔& lt;(选择萨尔从emp deptno=2)

<强>三、聚合查询(求和,平均,记录总数)

1,求和,平均查询

/*——求和,平均——*/选择和(sal), avg (sal)从emp      选择avg (nvl (sal, 0))从emp

2,记录总数

/*——记录总数——*/从emp select count (*)      选择计数(备忘录)从emp/*——统计该栏非空记录——*/选择计数(不同的(性))从emp/*——去掉重复记录——*//*——group by */选择e.deptno,总和(e.sal)      从emp e      group by e.deptno/*——集团通过*/选择e.deptno, avg (e.sal)      从emp e      group by e.deptno      avg (e.sal)比;4500

以上就是mysql的多表查询实现方法,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

mysql的多表查询实现方法