ORACLE(系統表emp) 基本與深入學習


(一)、首先我們先創建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激活工具)!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM