12.查询所有大于本部门平均工资的员工信息。
SELECT
*
FROM
emp e
WHERE
SAL > (
SELECT
AVG(SAL)
FROM
emp
WHERE
DEPTNO = e.DEPTNO
)
13.列出至少有三个员工的所有部门和部门信息。
SELECT
*
FROM
dept d
WHERE
(SELECT count(empno) FROM emp e
WHERE
e.deptno = d.deptno
) >= 3
数据操作与事务控制
1.有信员工信息如下:empno=200、ENAME=张三、JOB=软件工程师、HIREDATE=2008年4月16日、DEPTNO=10、SAL=3000,请将此员工信息插入EMP表中。
INSERT INTO emp
VALUES
(
200,
'张三',
'软件工程师',
NULL,
'2008-04-16',
3000,
NULL,
10
)
2.修改EMP表中的数据,为工资小于2000元的员工加500元工资。
UPDATE emp
SET SAL = sal + 500
WHERE
sal < 2000
3.修改薪资小于2000元的员工的入职日期为当日。
UPDATE emp_copy
SET HIREDATE = SYSDATE()
WHERE
sal < 2000
4.删除所有入职日期小于2007年1月1日的员工信息。
DELETE
FROM
emp
WHERE
hiredate < '2007-01-01'
5.删除所有薪资等于员工平均薪资的员工信息。
DELETE
FROM
emp
WHERE
empno IN (
SELECT
*
FROM
(
SELECT
a.empno
FROM
emp AS a,
(
SELECT
deptno,
AVG(sal) AS avgsal
FROM
emp
GROUP BY
deptno
) AS b
WHERE
a.deptno = b.deptno
AND a.sal = b.avgsal
) AS QUERY
)
6.简述ORACLE中DML、DDL、DCL的使用。
DML 数据操纵语言,如 update、delete、insert;
DDL 数据定义语言,如 create table、drop table;
DCL 数据控制语言,如 commit、rollback、grant、invoke。