第3章课后作业
1.查询入职时间在1982-7-9之后,并且不从事SALESMAN工作的员工姓名、入职时间、职位。
SELECT ename,hiredate,job
FROM emp
WHERE hiredate>'9-7月-1982'and job<>'SALESMAN'
2.查询员工姓名的第三个字母是a的员工姓名。
SELECT ename
FROM emp
WHERE ename like '___a%'
3.查询除了10、20号部门以外的员工姓名、部门编号。
SELECT ename,deptno
FROM emp
WHERE deptno not in (10,20)
4.查询部门号为30号员工的信息,先按工资降序排序,再按姓名升序排序。
SELECT *
FROM emp
WHERE deptno=30
ORDER BY sal desc,ename asc
5.查询没有上级的员工(经理号为空)的员工姓名。
SELECT ename
FROM emp
WHERE mgr is null
6.查询工资大于等于4500并且部门为10或者20的员工的姓名\工资、部门编号。
SELECT ename,sal,deptno
FROM emp
WHERE sal>=4500 and (deptno=10 or deptno=20)
第4章课后作业
1.计算2000年1月1日到现在有多少月,多少周(四舍五入)。
SELECT round(months_between(sysdate,'1-1月-2000'))月,
round((sysdate-to_date('1-1月-2000','dd-mon-yyyy'))/7)周
FROM dual;
2.查询员工ENAME的第三个字母是A的员工的信息(使用2个函数)。
SELECT*
FROM emp
WHERE ename like'__A%';
SELECT*
FROM emp
WHERE substr(ename,3,1)='A';
3.使用trim函数将字符串‘hello’、‘ Hello ’、‘bllb’、‘ hello ’分别处理得到下列字符串ello、Hello、ll、hello。
SELECT trim('h' from 'hello'),trim(' ' from ' Hello'),trim('b' from 'bllb
1.查询入职时间在1982-7-9之后,并且不从事SALESMAN工作的员工姓名、入职时间、职位。
SELECT ename,hiredate,job
FROM emp
WHERE hiredate>'9-7月-1982'and job<>'SALESMAN'
2.查询员工姓名的第三个字母是a的员工姓名。
SELECT ename
FROM emp
WHERE ename like '___a%'
3.查询除了10、20号部门以外的员工姓名、部门编号。
SELECT ename,deptno
FROM emp
WHERE deptno not in (10,20)
4.查询部门号为30号员工的信息,先按工资降序排序,再按姓名升序排序。
SELECT *
FROM emp
WHERE deptno=30
ORDER BY sal desc,ename asc
5.查询没有上级的员工(经理号为空)的员工姓名。
SELECT ename
FROM emp
WHERE mgr is null
6.查询工资大于等于4500并且部门为10或者20的员工的姓名\工资、部门编号。
SELECT ename,sal,deptno
FROM emp
WHERE sal>=4500 and (deptno=10 or deptno=20)
第4章课后作业
1.计算2000年1月1日到现在有多少月,多少周(四舍五入)。
SELECT round(months_between(sysdate,'1-1月-2000'))月,
round((sysdate-to_date('1-1月-2000','dd-mon-yyyy'))/7)周
FROM dual;
2.查询员工ENAME的第三个字母是A的员工的信息(使用2个函数)。
SELECT*
FROM emp
WHERE ename like'__A%';
SELECT*
FROM emp
WHERE substr(ename,3,1)='A';
3.使用trim函数将字符串‘hello’、‘ Hello ’、‘bllb’、‘ hello ’分别处理得到下列字符串ello、Hello、ll、hello。
SELECT trim('h' from 'hello'),trim(' ' from ' Hello'),trim('b' from 'bllb