第11章 SQL練習(xí)答案
《第11章 SQL練習(xí)答案》由會員分享,可在線閱讀,更多相關(guān)《第11章 SQL練習(xí)答案(10頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、【精品文檔】如有侵權(quán),請聯(lián)系網(wǎng)站刪除,僅供學(xué)習(xí)與交流 第11章 SQL練習(xí)答案 .....精品文檔...... 1.實訓(xùn)題 根據(jù)人力資源管理系統(tǒng)數(shù)據(jù)庫中數(shù)據(jù)信息,完成下列操作。 (1) 查詢100號部門的所有員工信息。 Selsect * from employees where department_id = 100 (2) 查詢所有職位編號為“SA_MAN”的員工的員工號、員工名和部門號。 Select employee_id,first_name,last_name,department_id from employees where job_id
2、= ‘SA_MAN’ (3) 查詢每個員工的員工號、工資、獎金以及工資與獎金的和。 Select employee_id,salary,commission_pct, salary*(1+nvl(commission_pct,0) from employees (4) 查詢40號部門中職位編號為“AD_ASST”和20號部門中職位編號為“SA_REP”的員工的信息。 Select * from employees where department_id=40 and job_id=’ AD_ASST’ OR department_id=20 and job_id=’ SA_REP’
3、; (5) 查詢所有職位名稱不是“Stock Manager”和“Purchasing Manager”,且工資大于或等于2000的員工的詳細(xì)信息。 Select * from employees where job_id not in(’ Stock Manager’,’ Purchasing Manager’) and salary>=2000 (6) 查詢有獎金的員工的不同職位編號和名稱。 Select distinct job_id, job_title from jobs where job_id in (select job_id from employees wh
4、ere job_id is not null) (7) 查詢沒有獎金或獎金低于100元的員工信息。 Select * from employees where salary*commission_pct<100 or commission is NULL (8) 查詢員工名(first_name)中不包含字母“S”的員工。 Select first_name from employees where first_name not like ‘%S%’ (9) 查詢員工的姓名和入職日期,并按入職日期從先到后進行排序。 Select first_name,last_name,hire_
5、date from employees order by hire_date; (10) 顯示所有員工的姓名、職位、工資和獎金,按職位降序排序,若職位相同則按工資升序排序。 Select first_name,last_name,job_id,salary ,salary*commission_pet from employees order by job_id desc ,salary asc; (11) 查詢所有員工的姓名及其直接上級的姓名。 Select a.first_name,b.first_name from employees a join employees b on
6、b.employee_id = a.manage_id (12) 查詢?nèi)肼毴掌谠缬谄渲苯由霞夘I(lǐng)導(dǎo)的所有員工信息。 select * from employees a where hire_date<(select hire_date from employees b b.employee_id=a.manage_id) (13) 查詢各個部門號、部門名稱、部門所在地以及部門領(lǐng)導(dǎo)的姓名。 Select d.department_id,d.department_name,d.location,e.first_name from departments d join employees
7、e on d.manager_id=e.employee_id (14) 查詢所有部門及其員工信息,包括那些沒有員工的部門。 Select department_name,first_name from departments d left join employees e on d.deparment_id=e.department_id (15) 查詢所有員工及其部門信息,包括那些還不屬于任何部門的員工。 Select e.first_name,d.department_name From employees left join departments on e.de
8、partment_id=d.department_id; (16) 查詢所有員工的員工號、員工名、部門名稱、職位名稱、工資和獎金。 Select e.employee_id,e.first_name,d.department_name,j.job_title,e.salary,e.salary*mission_pct 獎金 From departments d join employees e on d.department_id=e.department_id Join jobs j on j.job_id=e.job_id; (17) 查詢至少有一個員工的部門信息。 Sele
9、ct distinct departments.* from departments d join employees e on e.employee_id is not null; select * from employees where department_id in(select distinct department_id from employees) select * from departments d where exists(select 1 from employees where department_id=d.department_id) (18)
10、查詢工資比100號員工工資高的所有員工信息。 Select * from employees where salary>(select salary from employees where employee_id = 100); (19) 查詢工資高于公司平均工資的所有員工信息。 Select * from employees where salary>(select avg(salary) from employees) (20) 查詢各個部門中不同職位的最高工資。 Select job_id,max(salary) from employees group by job_i
11、d (21) 查詢各個部門的人數(shù)及平均工資 Select department_id,count(*),avg(salary ) from employees group by department_id; (22) 統(tǒng)計各個職位的員工人數(shù)與平均工資。 Select job_id ,count(employee_id),avg(salary) from employees group by job_id; (23) 統(tǒng)計每個部門中各職位的人數(shù)與平均工資。 Select department_id,job_id,count(*),avg(salary) from em
12、ployees group by department_id,job_id; (24) 查詢最低工資大于5000元的各種工作。 Select job_id,job_title from jobs where job_id in( Select job_id from employees group by job_id having min(salary)>5000); (25) 查詢平均工資低于6000元的部門及其員工信息。 Select e.*,d.* from employees e join departments d on e.department_id=d.depart
13、ment_id and department_id in(select department_Id from employees group by employee_id having avg(salary)<6000); (26) 查詢在“Sales”部門工作的員工的姓名信息。 Select e.first_name||e.last_name from employees e join departments d on e.department_id=d.department_id where d.department_name = ‘Sales’; Select * from
14、employee where department_id in(select department_d from departments where department_name=’Sales’) (27) 查詢與140號員工從事相同工作的所有員工信息。 Select * from employees where job_id in (select job_id from employees where employee_id = 140); (28) 查詢工資高于30號部門中所有員工的工資的員工姓名和工資。 Select first_name,last_name,salary fr
15、om employees where salary>(select max(salary) from employees deparment_id=30); (29) 查詢每個部門中的員工數(shù)量、平均工資和平均工作年限。 Select count(*),avg(salary),avg(round((sysdate-hire_date)/365)) from employees group by department_id (30) 查詢工資為某個部門平均工資的員工的信息。 Select * from employees where salsry in(select avg(Salary)
16、 from employees group by department_id) (31) 查詢工資高于本部門平均工資的員工的信息。 Select * from employees e1 where salary>(select avg(salary) from employees e2 where e2.department_id=e1.department_id ) (32) 查詢工資高于本部門平均工資的員工的信息及其部門的平均工資。 Select e.*,avgsal From employees e join (select department_id,avg(salar
17、y) avgsal from employees group by department_id) d On e.department_id=d.department_id And e.salary>d.avgsal (33) 查詢工資高于50號部門某個員工工資的員工的信息。 Select *from employees where salary>any(select salary from employees where department_id=50): (34) 查詢工資、獎金與10號部門某員工工資、獎金都相同的員工的信息。 Select * from employees
18、where (salary,nvl(commission_pct) ) in( Select salary,nvl(commission_pct) from employees where department_id=10 (35) 查詢部門人數(shù)大于10的部門的員工信息。 Select * from employees where department_id in(select department_id from employees group by department_id having count(*)>10); 查詢所有員工工資都大于10000元的部門的信息 Selec
19、t * from department where department_id in (select department_id from employees group by department_id having min(salary)>10000) (36) 查詢所有員工工資都大于5000元的部門的信息及其員工信息。 (37) 查詢所有員工工資都在4000元~8000元之間的部門的信息。 Select * from departments where department_id in( Select department_id from employees group by d
20、epartment_id having min(salary)>=4000 and max(salary)<=8000) (38) 查詢?nèi)藬?shù)最多的部門信息。 Select * from department_id where department_id in( Select department_id from employees group by department_id having Count(*)>=all( select count(*) from employees group by department_id ) (39) 查詢30號部門中工資排序前3名的員工信息。
21、 Select * from employee where department_id=30 and salary is not null and rownum<=3 order by salary desc (40) 查詢所有員工中工資排序在5~10名之間的員工信息。 Select * from Select rownum rn,employee_id,salary from ( Select employee_id,salary from employees where salary is not null order by salary desc) e1 )e2
22、Where rn between 5 and 10 (41) 向employees表中插入一條記錄,員工號為1000元,入職日期為2002年5月10日,email為example@,其他信息與員工號為150的員工相同。 (42) 將各部門員工的工資修改為該員工所在部門平均工資加1000。 (43) 查詢各月倒數(shù)第2天入職的員工信息。 (44) 查詢工齡大于或等于10年的員工信息。 (45) 查詢員工信息,要求以首字母大寫的方式顯示所有員工姓(last_name)和員工名(first_name)。 (46) 查詢員工名(first_name)正好為6個字符的員工的信息。 (47) 查詢員工名(first_name)的第2個字母為“M”的員工信息。 (48) 查詢所有員工名(first_name),如果包含字母“s”,則用“S”替換。 (49) 查詢在2月份入職的所有員工信息。
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。