(一)、首先我們先創建emp表(系統有的可以跳過往下看)沒有直接復制運行即可。
create table DEPT
(
deptno NUMBER(2) not null,
dname VARCHAR2(14),
loc VARCHAR2(13)
)
;
alter table DEPT
add constraint PK_DEPT primary key (DEPTNO);
create table EMP
(
empno NUMBER(4),
ename VARCHAR2(10),
job VARCHAR2(9),
mgr NUMBER(4),
hiredate DATE,
sal NUMBER(7,2),
comm NUMBER(7,2),
deptno NUMBER(2)
)
;
insert into DEPT (deptno, dname, loc)
values (10, 'ACCOUNTING', 'NEW YORK');
insert into DEPT (deptno, dname, loc)
values (20, 'RESEARCH', 'DALLAS');
insert into DEPT (deptno, dname, loc)
values (30, 'SALES', 'CHICAGO');
insert into DEPT (deptno, dname, loc)
values (40, 'OPERATIONS', 'BOSTON');
commit;
insert into EMP (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (1, 'dog', 'code', 7369, to_date('05-06-2018', 'dd-mm-yyyy'), 5000, 5000, 10);
insert into EMP (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7369, 'SMITH', 'CLERK', 7902, to_date('17-12-1980', 'dd-mm-yyyy'), 800, null, 20);
insert into EMP (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7499, 'ALLEN', 'SALESMAN', 7698, to_date('20-02-1981', 'dd-mm-yyyy'), 1600, 300, 30);
insert into EMP (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7521, 'WARD', 'SALESMAN', 7698, to_date('22-02-1981', 'dd-mm-yyyy'), 1250, 500, 30);
insert into EMP (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7566, 'JONES', 'MANAGER', 7839, to_date('02-04-1981', 'dd-mm-yyyy'), 2975, null, 20);
insert into EMP (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7654, 'MARTIN', 'SALESMAN', 7698, to_date('28-09-1981', 'dd-mm-yyyy'), 1250, 1400, 30);
insert into EMP (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7698, 'BLAKE', 'MANAGER', 7839, to_date('01-05-1981', 'dd-mm-yyyy'), 2850, null, 30);
insert into EMP (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7788, 'SCOTT', 'ANALYST', 7566, to_date('19-04-1987', 'dd-mm-yyyy'), 3000, null, 20);
insert into EMP (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7839, 'KING', 'PRESIDENT', null, to_date('17-11-1981', 'dd-mm-yyyy'), 5000, null, 10);
insert into EMP (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7844, 'TURNER', 'SALESMAN', 7698, to_date('08-09-1981', 'dd-mm-yyyy'), 1500, 0, 30);
insert into EMP (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7876, 'ADAMS', 'CLERK', 7788, to_date('23-05-1987', 'dd-mm-yyyy'), 1100, null, 20);
insert into EMP (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7900, 'JAMES', 'CLERK', 7698, to_date('03-12-1981', 'dd-mm-yyyy'), 950, null, 30);
insert into EMP (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7902, 'FORD', 'ANALYST', 7566, to_date('03-12-1981', 'dd-mm-yyyy'), 3000, null, 20);
insert into EMP (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values (7934, 'MILLER', 'CLERK', 7782, to_date('23-01-1982', 'dd-mm-yyyy'), 1300, null, 10);
commit;
(二)題目學習與實踐。(答案小編會在近期更新)
(1) 查詢20部門的所有員工信息。
(2) 查詢所有工種為CLERK的員工的員工號、員工名和部門號。
(3) 查詢獎金(COMM)高於工資(SAL)的員工信息。
(4) 查詢獎金高於工資的20%的員工信息。
(5) 查詢10號部門中工種為MANAGER和20部門中工種為CLERK的員工的信息。
(6) 查詢所有工種不是MANAGER和CLERK,
(7) 查詢有獎金的員工的不同工種。
(8) 查詢所有員工工資與獎金的和。
(9) 查詢沒有獎金或獎金低於100的員工信息。
(10) 查詢各月倒數第3天(倒數第2天)入職的員工信息。
(11) 查詢工齡大於或等於25年的員工信息。
(12) 查詢員工信息,要求以首字母大寫的方式顯示所有員工的姓名。
(13) 查詢員工名正好為6個字符的員工的信息。
(14) 查詢員工名字中不包含字母“S”的員工。
(15) 查詢員工姓名的第二字母為“M”的員工信息。
(16) 查詢所有員工姓名的前三個字符。
(17) 查詢所有員工的姓名,如果包含字母“S”,則用“s”替換。
(18)查詢員工的姓名和入職日期,並按入職日期從先到后進行排序。
(19) 顯示所有員工的姓名、工種、工資和獎金,按工種降序排序,
(20) 顯示所有員工的姓名、入職的年份和月份,
--提示:按入職日期所在的月份排序,若月份相同則按入職的年份排序。
(21) 查詢在2月份入職的所有員工信息。
(22) 查詢所有員工入職以來的工作期限,用“XX年XX月XX日”的形式表示。
(23.1) 查詢至少有一個員工的部門信息。
(23.2) 查詢至少有兩個員工的部門信息。
(24) 查詢工資比SMITH員工工資高的所有員工信息。
(25) 查詢所有員工的姓名及其直接上級的姓名。
(26) 查詢入職日期早於其直接上級領導的所有員工信息。
(27) 查詢所有部門及其員工信息,包括那些沒有員工的部門。
(28) 查詢所有員工及其部門信息,包括那些還不屬於任何部門的員工。
(29) 查詢所有工種為CLERK的員工的姓名及其部門名稱。
(30) 查詢最低工資大於2500的各種工作。
-----------------------------------------------------------------
(31) 查詢平均工資低於2000的部門及其員工信息。
(32) 查詢在SALES部門工作的員工的姓名信息。
(33) 查詢工資高於公司平均工資的所有員工信息。
(34) 查詢出與SMITH員工從事相同工作的所有員工信息。
(35) 列出工資等於30部門中某個員工的工資的所有員工的姓名和工資。
(36) 查詢工資高於30部門工作的所有員工的工資的員工姓名和工資。
(37) 查詢每個部門中的員工數量、平均工資和平均工作年限。
(38) 查詢從事同一種工作但不屬於同一部門的員工信息。
(39) 查詢各個部門的詳細信息以及部門人數、部門平均工資。
(40) 查詢各種工作的最低工資。
(41) 查詢各個部門中不同工種的最高工資。
(42) 查詢10號部門員工及其領導的信息。
(43) 查詢各個部門的人數及平均工資。
(44) 查詢工資為某個部門平均工資的員工的信息。
(45) 查詢工資高於本部門平均工資的員工的信息。
(46) 查詢工資高於本部門平均工資的員工的信息及其部門的平均工資。
(47) 查詢工資高於20號部門某個員工工資的員工的信息。
(48)統計各個工種的員工人數與平均工資。
(49) 統計每個部門中各工種的人數與平均工資。
(50) 查詢其他部門中工資、獎金與30號部門某員工工資、
(51) 查詢部門人數大於5的部門的員工信息。
(52) 查詢所有員工工資都大於1000的部門的信息。
(53) 查詢所有員工工資都大於1000的部門的信息及其員工信息。
(54) 查詢所有員工工資都在900~3000之間的部門的信息。
(55) 查詢有工資在900~3000之間的員工所在部門的員工信息。
(56) 查詢每個員工的領導所在部門的信息。
(57) 查詢人數最多的部門信息。
(58) 查詢30號部門中工資排序前3名的員工信息。
(59) 查詢所有員工中工資排序在5到10名之間的員工信息。
(60) 查詢指定年份之間入職的員工信息。(1980-1985)
歡迎關注小編的公眾號,更多學習視頻、模板、工具(wind激活工具)!!!