数据库基础06分组、关联查询

分组

  • 分组查询

示例:按部门编号进行分组,查询出各个部门的平均工资
SELECT DEPTNO,FLOOR(AVG(SALARY)) AS AVG_SAL 
FROM EMP GROUP BY DEPTNO;
  • HAVING 句子

HAVING子句用来对分组后的结果进一步限制,比如按部门分组后,得到每个部门的最高薪水,可以继续限制输出结果。必须跟在GROUP BY 后面,不能单独存在。

示例:查询每个部门的最高薪水,只有最高薪水大于4000的记录才会被输出显示
SELECT DEPTNO,MAN(SAL)MAN_SAL FROM EMP
GROUP BY DEPTNO HAVING MAN(SAL)>4000;
查询出10号部门的平均工资(GROUP BY 子句后面不能直接跟WHERE子句)
SELECT DEPTNO,AVG(SALARY) AS AVG_SAL 
FROM EMP GROUP BY DEPTNO WHERE DEPTNO=10; //会报错
SELECT DEPTNO,AVG(SALARY) AS AVG_SAL 
FROM EMP GROUP BY DEPTNO HAVING DEPTNO=10;//执行通过

关联查询

  • 内连接

内连接返回两个关联表中所有满足连接条件的记录。

示例:查询员工的名字和所在部门的名字
SELECT T1.ENAME,T2.DNAME
FROM EMP T1,DEPT T2
WHERE T1.DEPTNO = T2.DEPTNO;
或者
SELECT T1.ENAME,T2.DNAME
FROM EMP T1 JOIN DEPT T2
ON (T1.DEPTNO = T2.DEPTNO);
  • 内连接

示例:查询出所有员工的工号,姓名,所在城市将员工表和部门表进行连接,需要设置连接条件 (T1.DEPTNO=T2.ID) 连接数据表使用JOIN关键字

内连接(使用JOIN)

SELECT T1.ID,T1.NAME,T2.LOC 
FROM EMP T1 JOIN DEPT T2 
ON T1.DEPTNO=T2.ID;

内连接(不使用JOIN)

SELECT T1.ID,T1.NAME,T2.LOC 
FROM EMP T1,DEPT T2 
WHERE T1.DEPTNO=T2.ID;
  • 左连接(LEFT JOIN)

SELECT T1.ID,T1.NAME,T2.LOC 
FROM EMP T1 LEFT JOIN DEPT T2 
ON T1.DEPTNO=T2.ID;
  • 右连接(RIGHT JOIN)

SELECT T1.ID,T1.NAME,T2.LOC 
FROM EMP T1 RIGHT JOIN DEPT T2 
ON T1.DEPTNO=T2.ID;
  • 全外链接(FULL OUTER JOIN)

SELECT T1.ID,T1.NAME,T2.LOC 
FROM EMP T1 FULL OUTER JOIN DEPT T2 
ON T1.DEPTNO=T2.ID;
  • 自连接

自连接是一种特殊的连接查询,数据的来源是一个表,即关联关系来自于表单中的多个列。表中的列参照同一个表中的其他列的情况称作自参照表。
自连接是通过将表用别名虚拟成两个表的方式实现,可以是等值或不等值连接。

示例:查出每个职员的经理名字,以及他们的职员编码
SELECT T1.EMPNO W_EMPNO,T1.ENAME W_ENAME,
T2.EMPNO M_EMPNO,T2.ENAME M_ENAME
FROM EMP T1 JOIN EMP T2
ON T1.MGR = T2.EMPNO;
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • SQL语言基础 本章,我们将会重点探讨SQL语言基础,学习用SQL进行数据库的基本数据查询操作。另外请注意本章的S...
    厲铆兄阅读 10,710评论 2 46
  • 转 # https://www.cnblogs.com/easypass/archive/2010/12/ 08/...
    吕品㗊阅读 13,319评论 0 44
  • 文/熠歆 材料:土豆,淀粉 步骤: 土豆切条; 加盐放热水里煮2分钟; 用清水过滤两次,然后滤干水分; 裹上淀粉,...
    熠歆阅读 2,286评论 0 2
  • 如果每天做一样的工作,认真做许多年会是什么情况,麻木的重复手头工作,还一边担心人工智能的取代,一个学工科的孩子就特...
    吴牧辰阅读 1,477评论 0 1
  • 应该是最近一段时间神经都绷得太紧,因而这一阵子学习效率特别低。有人说我不适合做贤妻良母,我的属性是【战士】,和男人...
    公子七阅读 1,513评论 1 3

友情链接更多精彩内容