黑马程序员技术交流社区

标题: 【成都校区】天气渐热,课程渐难 [打印本页]

作者: Can_Chen    时间: 2018-5-16 11:25
标题: 【成都校区】天气渐热,课程渐难
进入五月天气越来越炎热了,进入web阶段时间太紧了,要静下心来敲代码。看看现在这作业哦,太多了,一上午还没敲完
01.查询每个雇员的编号、姓名、职位。
        SELECT * FROM emp;
02.查询出所有的职位,使用DISTINCT消除掉显示的重复行记录。
        SELECT DISTINCT job FROM emp;
03.计算每个雇员的编号、姓名、基本年薪。年薪=(工资+奖金)*12,(使用IFNULL函数判断NULL)
        SELECT empno,ename,(sal+IFNULL(comm,0))*12 AS '年薪' FROM emp;
04.每个雇员每个月公司会补贴饭食200元,交通补助300元,计算年薪。
        SELECT empno,ename,(sal+IFNULL(comm,0)+200+300)*12 AS '年薪' FROM emp;
05.查询基本工资高于2000的全部雇员信息。
        SELECT * FROM emp WHERE sal>2000;
06.查询出smith的信息。
        SELECT * FROM emp WHERE ename='smith';
07.查询出所有不是CLERK的详细信息。
        SELECT * FROM emp WHERE job!='clerk';
08.查询出所有销售人员(SALESMAN)的基本信息,并且要求销售人员的工资高于1300。
        SELECT * FROM emp WHERE sal>1300 AND job='salesman';
09.查询出工资范围在1500~3000之间的全部雇员信息(包含1500和3000)。
        SELECT * FROM emp WHERE sal>1300 AND sal<3000;
10.查询出所有经理或者是销售人员的信息,并且要求这些人的基本工资高于1500。
        SELECT * FROM emp WHERE sal>1500 AND job='manager' OR job='salesman';
11.要求查询出所有在1981年雇佣的雇员信息。
        SELECT * FROM emp WHERE hiredate LIKE '1981%';
12.查询所有领取奖金的雇员信息(comm不为空)。
        SELECT * FROM emp WHERE comm>0;
13.查询所有领取奖金高于100的雇员信息。
        SELECT * FROM emp WHERE comm>100;
14.查询出雇员编号是7369、7566、9999的雇员信息。
        SELECT * FROM emp WHERE empno IN(7369,7566,9999);
15.查询出所有雇员姓名是以A开头的全部雇员信息。
        SELECT * FROM emp WHERE ename LIKE 'A%';
16.查询出雇员姓名第二个字母是M的全部雇员信息。
        SELECT * FROM emp WHERE ename LIKE '_m%';
17.查询出雇员姓名任意位置上包含字母A的全部雇员信息。
        SELECT * FROM emp WHERE ename LIKE '%A%';
18.查询出所有雇员的信息,要求按照工资排序。
        SELECT * FROM emp ORDER BY sal;
19.要求查询所有雇员的信息,按照雇佣日期由先后排序。
        SELECT * FROM emp ORDER BY hiredate;
20.查询全部雇员信息,按照工资由高到低排序,如果工资相同,则按照雇佣日期由先后排序。
        SELECT * FROM emp ORDER BY sal DESC,hiredate ASC;
21.查询部门30中的所有员工。
        SELECT * FROM emp WHERE deptno=30;
22.查询出所有办事员(CLERK)的姓名,编号和部门编号。
        SELECT ename,empno,deptno FROM emp WHERE job='clerk';
23.查询出奖金高于薪金的员工。
        SELECT * FROM emp WHERE comm>sal;
24.查询出奖金高于薪金的60%的员工。
        SELECT * FROM emp WHERE (comm/sal)>0.6;
25.查询出部门10中所有经理(MANAGER)和部门20中所有办事员(CLERK)的详细资料。
        SELECT * FROM emp WHERE deptno IN (10,20);
26.查询出部门10中所有经理,部门20中所有办事员,既不是经理又不是办事员但其薪金大于或等于2000
的所有员工的信息。
SELECT * FROM emp WHERE job = 'manager' OR job = 'clerk' OR sal>=2000;
27.查询出收取了奖金的员工从事的工作。
        SELECT ename,job FROM emp WHERE comm>0;
28.查询出不收取奖金或收取的奖金低于100的员工。
        SELECT * FROM emp WHERE IFNULL(comm,0)<100 ;
29.查询出不带有“R”的员工的姓名。
        SELECT * FROM emp WHERE ename NOT LIKE '%r%';
30.查询出每个雇员的姓名、职位、领导姓名。
        SELECT a.ename,a.job,b.ename FROM emp a,emp b WHERE a.mgr=b.empno;
31.查询出所有员工的编号、姓名及其直接上级的编号、姓名,显示的结果按领导年工资的降序排列。
        SELECT a.empno,a.ename,b.empno,b.ename FROM emp a,emp b WHERE a.mgr=b.EMPNO ORDER BY (b.sal+IFNULL(b.comm,0))*12 DESC;
32.查询出在销售部(SALES)工作的员工姓名、基本工资、雇佣日期、部门名称。(不知道销售部编号)。
        SELECT a.ename,a.empno,a.sal,a.hiredate,b.dname FROM emp a,dept b WHERE a.job='salesman' AND a.deptno=b.deptno;
33.查询出所有员工的姓名、部门名称和工资。
        SELECT a.ename,b.dname,a.sal FROM emp a,dept b WHERE a.deptno=b.DEPTNO;
34.查询出所有员工的年工资,所在部门名称,按年薪从低到高排序。
        SELECT (a.sal+IFNULL(a.COMM,0))*12 AS ys,b.dname FROM emp a,dept b WHERE a.deptno=b.deptno ORDER BY ys ;
35.查询出某个员工的上级主管及所在部门名称,并要求出这些主管中的薪水超过3000。

36.查询出公司的最高和最低工资。
37.查询出每个部门的人数、平均工资,只显示部门编号。
38.查询出每种职位的最高和最低工资。
39.查询平均工资高于2000的职位信息,以及从事此职位的雇员人数、平均工资。
40.查询员工编号大于其领导编号的每个员工的姓名、职位、领导名称。
41查询出至少有一个员工的所有部门编号、名称,并统计出这些部门的平均工资、最低工资、最高工资。
42.查询出部门名称和这些部门的员工信息(数量、平均工资),同时列出那些没有员工的部门。
43.查询工资比 smith更高的全部员工信息。
44.查询工资和职位和 smith相同的所有员工信息。  
45.查询各部门的部门编号,部门名词,部门地址,员工人数和平均工资。
作者: 一八八    时间: 2018-5-16 12:40
此波操作可以的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2