1、请查询表DEPT中所有部门的情况。
SELECT * FROM DEPT
2、查询表DEPT中的部门号、部门名称两个字段的所有信息。
SELECT DEPTNO,DNAME FROM DEPT
3、请从表EMP中查询10号部门工作的雇员姓名和工资。
SELECT ENAME,SAL FROM EMP WHERE DEPTNO=10
4、请从表EMP中查找工种是职员CLERK或经理MANAGER的雇员姓名、工资。
SELECT ENAME,SAL FROM EMP WHERE JOB='CLERK'OR JOB='MANAGER'
SLECT ENAME,SAL FROM EMP WHERE JOB IN('CLERK','MANAGER')
5、请在EMP表中查找部门号在10-30之间的雇员的姓名、部门号、工资、工作。
SELECT ENAME,DEPTNO,SAL,JOB FROM EMP WHERE DEPTNO BETWEEN 10 AND 30
6、请从表EMP中查找姓名以J开头所有雇员的姓名、工资、职位。
SELECT ENAME,SAL,JOB FROM EMP WHERE ENAME LIKE'J%'
7、请从表EMP中查找工资低于2000的雇员的姓名、工作、工资,并按工资降序排列。
SELECT ENAME,JOB,SAL FROM EMP WHERE SAL<2000 ORDER BY SAL DESC
8、请从表中查询工作是CLERK的所有人的姓名、工资、部门号、
SELECT ENAME,SAL,DEPTNO FROM EMP WHERE JOB='CLERK'
12、查找工资在1000~3000之间的雇员所在部门的所有人员信息
SELECT * FROM EMP WHERE SAL BETWEEN 1000 AND 3000
13、雇员中谁的工资最高。
SELECT * FROM (SELECT * FROM EMP ORDER BY SAL DESC) WHERE ROWNUM=1
15、选择部门30中的雇员
SELECT * FROM EMP WHERE DEPTNO=30
16、列出所有办事员(job为CLERK)的姓名、编号和部门
SELECT ENAME,EMPNO,JOB FROM EMP WHERE JOB='CLERK'
17、找出佣金高于薪金(comm)的雇员
SELECT * FROM EMP WHERE SAL>COMM
18、找出佣金高于薪金60%的雇员
SELECT *
FROM emp
WHERE comm > sal * 0.6;
19、找出部门10中所有经理和部门20中的所有办事员的详细资料
SELECT * FROM EMP WHERE JOB='MANAGER'AND DEPTNO=10 OR JOB='CLERK' AND DEPTNO=20
20、找出收取佣金的雇员的工作
SELECT JOB FROM EMP WHERE COMM IS NOT NULL
21、找出不收取佣金或收取的佣金低于100的雇员
SELECT * FROM EMP WHERE COMM IS NULL OR COMM<100
22、显示不带有'R'的雇员姓名
SELECT ENAME FROM EMP WHERE ENAME NOT LIKE'%R%'
23、显示雇员的详细资料,按姓名排序
SELECT * FROM EMP ORDER BY ENAME
24、显示雇员姓名,根据其服务年限,将最老的雇员排在最前面
SELECT ENAME,HIREDATE FROM EMP ORDER BY HIREDATE
25、显示所有雇员的姓名、工作和薪金,按工作的降序顺序排序,而工作相同时按薪金升序
SELECT ENAME,JOB,SAL FROM EMP ORDER BY JOB DESC,SAL
26、显示在一个月为30天的情况下所有雇员的日薪金
SELECT ename, sal / 30 日薪 FROM emp
27. 查询所有员工的年薪、所在部门的名称,查询结果按年薪从低往高排序
SELECT SAL*12 年薪,JOB FROM EMP ORDER BY 年薪
28. 查询至少有4个员工的部门的部门名称
- SELECT DNAME FROM DEPT WHERE DEPTNO IN
- (SELECT DEPTNO FROM EMP GROUP BY DEPTNO HAVING COUNT(EMPNO)>4)
- SELECT d.DNAME, COUNT(e.EMPNO) AS EMPLOYEE_COUNT
- FROM DEPT d
- JOIN EMP e ON d.DEPTNO = e.DEPTNO
- GROUP BY d.DNAME
- HAVING COUNT(e.EMPNO) >= 4;
29. 查询所有部门的详细信息(部门编号、部门名称)和部门人数
- SELECT d.DEPTNO, d.DNAME, COUNT(e.EMPNO) AS EMPLOYEE_COUNT
- FROM DEPT d
- LEFT JOIN EMP e ON d.DEPTNO = e.DEPTNO
- GROUP BY d.DEPTNO, d.DNAME;
- SELECT deptno,dname,(SELECT COUNT(*) FROM emp t2 WHERE t1.deptno=t2.deptno) 部门人数 FROM dept t1