


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库mysql单表查询_MySql数据库单表、多表查询练习-按部门求出该部门平均工资分组查询SELECTTRUNCATE(AVG(SAL),O)AS部门平均工资FROMempGROUPBYemp.DEPTNO;-查询部门平均工资大于2000元的部门SELECTdept.DNAMEAS平均工资大于2000的部门FROMdeptWHEREdept.DEPTNOIN(SELECTemp.DEPTNOFROMempGROUPBYemp.DEPTNOHAVINGTRUNCATE(AVG(SAL),0)2000);-按部门平均工资降序排列SELECTTRUNCATE(AVG(SAL),0)AS部门平均工
2、资,emp.DEPTNOFROMempGROUPBYemp.DEPTNOORDERBYTRUNCATE(AVG(SAL),0)DESC;-除10号部门外,查询部门平均工资大于2000元的部门SELECTAVG(SAL)FROMempWHEREemp.DEPTNO!=10GROUPBYemp.DEPTNOHAVINGAVG(SAL)2000;-显示部门平均工资的最大值SELECTTRUNCATE(AVG(SAL),0)AS部门平均工资最大值,emp.DEPTNOFROMempGROUPBYemp.DEPTNOORDERBYTRUNCATE(AVG(SAL),0)DESCLIMIT0,1;-查询员
3、工的编号,姓名,部门名,使用表别名简化SELECTemp.EMPNO,emp.ENAME,dept.DNAMEFROMemp,deptWHEREemp.DEPTNO=dept.DEPTNO;-显示员工的编号,姓名,月薪,工资级别SELECTemp.EMPNO,emp.ENAME,emp.SAL,salgrade.GRADEFROMemp,salgradeWHEREemp.SALBETWEENsalgrade.LOSALANDsalgrade.HISALORDERBYsalgrade.GRADE;-按部门10,20,30,40号,统计各部门员工人数,要求显示部门号,部门名,人数SELECTdep
4、t.DEPTNO,dept.DNAME,COUNT(emp.EMPNO)FROMdept,empWHEREdept.DEPTNO=emp.DEPTNOGROUPBYemp.DEPTNO;#因为一个部门没有数据,所以没有显示全SELECTdept.DEPTNO,dept.DNAME,COUNT(emp.EMPNO)FROMdeptLEFTJOINempONdept.DEPTNO=emp.DEPTNOGROUPBYemp.DEPTNO;#至于分清左右,主要看全显示的是哪个表,是哪个就朝那边-显示每个员工的上级SELECTa.ENAME,b.ENAMEFROMempaLEFTJOINempbONb.
5、EMPNO=a.MGR;SELECTCONCAT(a.ENAME,的BOSS是-,b.ENAME)FROMempaLEFTJOINempbONb.EMPNO=a.MGR;-查询员工薪资最高的员工信息SELECT*FROMempWHEREemp.SAL=(SELECTMAX(SAL)FROMemp);-查询工资比WARD高的员工信息SELECT*FROMempWHEREemp.SAL(SELECTSALFROMempWHEREemp.ENAME=WARD);-查询部门名为SALES的员工信息-方式一:子查询SELECT*FROMempWHEREemp.DEPTNO=(SELECTdept.DEP
6、TNOFROMdeptWHEREdept.DNAME=SALES);-方式二:多表查询SELECTemp.*FROMemp,deptWHEREemp.DEPTNO=dept.DEPTNOANDdept.DNAME=SALES;-查询部门名为ACCOUNTING或SALES的员工信息(多行子查询,使用in关键字)SELECT*FROMempWHEREemp.DEPTNOIN(SELECTdept.DEPTNOFROMdeptWHEREdept.DNAME=ACCOUNTINGORdept.DNAME=SALES);-查询部门名不是ACCOUNTING或SALES的员工信息(多行子查询,使用in关
7、键字)SELECT*FROMempWHEREemp.DEPTNONOTIN(SELECTdept.DEPTNOFROMdeptWHEREdept.DNAME=ACCOUNTINGORdept.DNAME=SALES);-查询工资比20号部门【任意any】一个员工工资【彳低SELECT*FROMempWHEREemp.SALANY(SELECTSALFROMempWHEREemp.DEPTNO=20);SELECT*FROMempWHEREemp.SAL(SELECTMAX(SAL)FROMempWHEREemp.DEPTNO=20);-查询工资比30号部门【所有all】员工【彳低SELECT*
8、FROMempWHEREemp.SALALL(SELECTSALFROMempWHEREemp.DEPTNO=30);SELECT*FROMempWHEREemp.SAL(SELECTMIN(SAL)FROMempWHEREemp.DEPTNO=30);-使用并集运算,查询20号部门或30号部门的员工信息SELECT*FROMempWHEREemp.DEPTNO=20UNIONSELECT*FROMempWHEREemp.DEPTNO=30;-union:二个集合中,如果都有相同的,取其一-unionall:二个集合中,如果都有相同的,都取-使用交集运算intersect,查询工资在1000-
9、2000和1500-2500之间的员工信息(方式一)-select*fromempwheresalbetween1000and2000-intersect-select*fromempwheresalbetween1500and2500;-(方式二:)SELECT*FROMempWHERE(emp.SALBETWEEN1000AND2000)AND(emp.SALBETWEEN1500AND2500);-使用差集运算minus,查询工资在1000-2000,但不在1500-2500之间的员工信息(方式一)-select*fromempwheresalbetween1000and2000-min
10、us-select*fromempwheresalbetween1500and2500;-(方式二:)SELECT*FROMempWHERE(emp.SALBETWEEN1000AND2000)AND(emp.SALNOTBETWEEN1500AND2500);集合查询的细节:1)集合操作时,必须确保集合列数是相等selectempno,ename,sal,commfromempwheredeptno=20unionselectempno,ename,salfromempwheredeptno=30;错2)集合操作时,必须确保集合列类型对应相同selectempno,ename,sal,commfromempwheredeptno=20unionselectempno,ename,sal,hiredatefromempwheredeptno=30;错3)AunionBunionC=CunionBunionA(交换律)select*fromempwheredeptno=10unionselect*fromempwher
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 单位晋升面试题及答案
- 工作状态面试题及答案
- T/CAEPI 35-2021餐饮业废气排放过程(工况)监控数据采集技术指南
- 市政工程监理总结模版
- 技能人才主题班会实施方案
- 三人合伙分红合同范本
- 单位解除定向就业协议书
- 工地进场安全施工协议书
- 嘉兴临时仓库租赁协议书
- 委托加工终止合同范本
- 2024CSCO结直肠癌诊疗指南解读
- MOOC 信号与系统-西安电子科技大学 中国大学慕课答案
- 公需科目2023年度数字经济与驱动发展考试题库及答案
- 中学生英才计划面试常见问题
- 压力容器安全风险管控清单(日管控、周排查、月调度)
- 中小学心理健康教育指导纲要
- 婴幼儿尿布性皮炎护理
- 国网兼职培训师培训课件
- 医保药品追溯系统协议
- 幼儿园教师游戏指导经验总结
- 电子元器件的选型与电路设计
评论
0/150
提交评论