diff --git "a/53 \345\221\250\345\216\232\350\276\260/20231019 \347\254\254\344\272\214\345\215\201\344\270\211\346\254\241\344\275\234\344\270\232 \344\272\213\345\212\241&MySQL\345\244\215\344\271\240/\346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243.md" "b/53 \345\221\250\345\216\232\350\276\260/20231019 \347\254\254\344\272\214\345\215\201\344\270\211\346\254\241\344\275\234\344\270\232 \344\272\213\345\212\241&MySQL\345\244\215\344\271\240/\346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243.md" new file mode 100644 index 0000000000000000000000000000000000000000..9914d302913d5eb34a7d29693ee57a3879d0c7f3 --- /dev/null +++ "b/53 \345\221\250\345\216\232\350\276\260/20231019 \347\254\254\344\272\214\345\215\201\344\270\211\346\254\241\344\275\234\344\270\232 \344\272\213\345\212\241&MySQL\345\244\215\344\271\240/\346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243.md" @@ -0,0 +1,31 @@ +2023年10月19日 + +## 答案 + +```mysql +-- 1、列出最低薪金大于1500的各种工作。 +select distinct job 工作,min(sal) over (partition by job ) 薪金 from emp where sal>1500; +-- 2、列出在部门 "销售部" 工作的员工的姓名,假定不知道销售部的部门编号。 +select ename from emp where deptno=(select deptno from dept where dname='销售部'); +-- 3、列出薪金高于公司平均薪金的所有员工。 +select empno,ename,job,mgr,hiredate from emp where sal>(select floor(avg(sal)) from emp); +-- 4、列出与"周八"从事相同工作的所有员工。 +select * from emp where job=(select job from emp where ename='周八'); +-- 5、列出薪金等于 部门30中员工的薪金的 所有员工的姓名和薪金。 +select ename,sal from emp where sal in (select sal from emp where deptno=30); +-- 6、列出薪金高于 在部门30工作的所有员工的薪金 的员工姓名和薪金。 +select ename,sal from emp where sal>(select max(sal) from emp where deptno=30); +-- 7、列出在每个部门工作的员工数量、平均工资、平均服务年限。 +select count(*) over w 员工数量,avg(sal) over w 平均工资,avg( TIMESTAMPdiff(year,hiredate,now())) over w 平均服务年限 from emp window w as (partition by deptno); +-- 8、列出所有员工的姓名、部门名称和工资。 +select ename,dname,sal from emp e,dept p where e.deptno=p.deptno; +-- 9、列出所有部门的详细信息和部门人数。 +select * ,count(*) over w 部门人数 from emp e,dept p where e.deptno=p.deptno window w as (partition by e.deptno); +-- 10、列出各种工作的最低工资。 +select distinct job,min(sal) over w 最低工资 from emp window w as (partition by job); +-- 11、列出各个部门的 经理 的最低薪金。 +select deptno,min(sal) over w from emp where job='经理' window w as (partition by job) ; +-- 12、列出所有员工的年工资,按年薪从低到高排序。 +select ename,sal*12 年薪 from emp ORDER BY sal; +``` +