數據庫7-22


oracle 第二章

練習1  

1.使用兩種方式查詢所有員工信息  

select *  from emp    select EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO  from emp  

2.查詢員工編號、員工姓名、員工職位、員工月 薪、工作部門編號。

 select empno,ename,job,sal,deptno  from emp

練習2

 1.員工轉正后,月薪上調20%,請查詢出所有員 工轉正后的月薪。  

select sal*(1+0.2) newsal  from emp

 2.員工試用期6個月,轉正后月薪上調20%,請查 詢出所有員工工作第一年的月薪所得(不考慮獎 金部分)

 select sal*6+sal*(1+0.2)*6 newsal  from emp

練習3

 1.員工試用期6個月,轉正后月薪上調20%,請查 詢出所有員工工作第一年的所有收入(需考慮獎 金部分),要求顯示列標題為員工姓名,工資收 入,獎金收入,總收入。

 select  ename "員工姓名",sal*6+sal*(1+0.2)*6 "工資收入",12*comm "獎金收入",6*sal+6*sal*(1+0.2)+12*comm  "總收入"   from emp;

練習4

 1.員工試用期6個月,轉正后月薪上調20%,請查 詢出所有員工工作第一年的所有收入(需考慮獎 金部分),要求顯示列標題格式為:XXX的第一年 總收入為XXX。

 select  ename|'的第一年總收入為’||(6*sal+6*sal*(1+0.2)+12*comm )
 from emp;

 2.查詢員工表中一共有哪幾種崗位類型。

 select  distinct job  from emp;

課后作業

1.分別選擇員工表、部門表、薪資等級表中的所 有數據。

 select  *  from emp;

 select  *  from dept;

 select  *  from salgrade;

 2.分別查看員工表、部門表、薪資等級表的表結 構。

 ????????(並沒有運行出來)

到命令窗口

 desc emp;

 desc dept;

 desc salgrade;  

 3.驗證語句

SELECT DISTINCT deptno,job FROM emp 的結果。  

 

mysql

練習1

1.使用兩種方式查詢所有員工(EMP)信息

 select *  from emp;    select empno,ename,job,mgr,hredate,sal,comm,deptno  from emp;

2.查詢(EMP)員工編號、員工姓名、員工職位、員工月薪、工作部門編號

 select empno,ename,job,sal,deptno  from emp;

練習2

1.員工轉正后,月薪上調20%,請查詢出所有員工轉正后的月薪。

 select sal*(1+0.2) newsal  from emp;

2.員工試用期6個月,轉正后月薪上調20%,請查詢出所有員工工作第一年的年薪所得(不考慮獎金部分,年薪的試用期6個月的月薪+轉正后6個月的月薪)

 select sal*6+sal*(1+0.2)*6 newsal  from emp;

練習3

1.員工試用期6個月,轉正后月薪上調20%,請查詢出所有員工工作第一年的所有收入(需考慮獎金部分),要求顯示列標題為員工姓名,工資收入,獎金收入,總收入。

 select ename "員工姓名",sal*6+sal*(1+0.2)*6 "工資收入",comm*12 "獎金收入",sal*6+sal*(1+0.2)*6+ifnull(comm*12,0) "總收入"  from emp;

練習4

1.查詢員工表中一共有哪幾種崗位類型。

 select distinct job  from emp;

練習5

1. 分別查看員工表、部門表、薪資等級表的表結構

 describe emp;  describe dept;  describe salgrade;

練習6

1.查詢職位為SALESMAN的員工編號、職位、入職日期。

 select empno,job,hiredate  from emp  where job='SALESMAN';

2.查詢1985年12月31日之前入職的員工姓名及入職日期。

 select ename,hiredate  from emp  where hiredate < '1985-12-31';

3.查詢部門編號不在10部門的員工姓名、部門編號。

 select ename,deptno  from emp  where deptno !=10;

練習7

1.查詢入職日期在82年至85年的員工姓名,入職日期。

 select ename,hiredate  from emp  where hiredate between '1982-01-01' and '1985-12-31';

2.查詢月薪在3000到5000的員工姓名,月薪。

 select ename,sal  from emp  where sal between 3000 and 5000;

3.查詢部門編號為10或者20的員工姓名,部門編號。

 select ename,deptno  from emp  where deptno =10 or deptno=20;

4.查詢經理編號為7902, 7566, 7788的員工姓名,經理編號。

 select ename,empno  from emp  where empno=7902 or 7566 or 7788;

練習8

1.查詢員工姓名以W開頭的員工姓名。

 select ename  from emp  where ename like 'W_';

2.查詢員工姓名倒數第2個字符為T的員工姓名。

 select ename  from emp  where ename like '%T_';

3.查詢獎金為空的員工姓名,獎金。

 select ename,comm  from emp  where comm  is null;

練習9

1.查詢工資超過2000並且職位是MANAGER,或者職位是SALESMAN的員工姓名、職位、工資

 select ename,job,sal  from emp  where sal>2000 and job='MANAGER';

2.查詢工資超過2000並且職位是 MANAGER或SALESMAN的員工姓名、職位、工資

 select ename,job,sal  from emp  where sal>2000 and job='MANAGER' or 'SALEMAN';

3.查詢部門在10或者20,並且工資在3000到5000之間的員工姓名、部門、工資。

 select ename,deptno,sal  from emp  where deptno=10 or 20 and sal between 3000 and 5000;

4.查詢入職日期在81年,並且職位不是SALES開頭的員工姓名、入職日期、職位。

 select ename,hiredate,job  from emp  where hiredate between '1981-01-01' and '1981-12-31' and job not like 'SALES_';

5.查詢職位為SALESMAN或MANAGER,部門編號為10或者20,姓名包含A的員工姓名、職位、部門編號。

 select ename,job,deptno  from emp  where (job = 'SALESMAN' or 'MANAGER' )and (deptno =10 or 20 )and ename like '%A%';

練習11

1.查詢入職日期最早的前5名員工姓名,入職日期。

 select ename,hiredate  from emp  order by hiredate  limit 0,5;

2.查詢工作在CHICAGO並且入職日期最早的前2名員工姓名,入職日期。

 select ename,hiredate  from emp,dept  where emp.deptno=dept.deptno and loc='CHICAGO'  order by hiredate  limit 0,2;

3.按照每頁顯示5條記錄,分別查詢第1頁,第2頁,第3頁信息,要求顯示員工姓名、入職日期、部門名稱。

 select ename,hiredate,deptno  from emp  limit 0,5;  

 select ename,hiredate,deptno  from emp  limit 6,10;

 select ename,hiredate,deptno  from emp  limit 11,15;

課后作業

1.查詢入職時間在1982-7-9之后,並且不從事SALESMAN工作的員工姓名、入職時間、職位。

 select ename,hiredate,job  from emp  where hiredate > '1982-07-09'and job not like 'SALESMAN';

2.查詢員工姓名的第三個字母是a的員工姓名。

 select ename  from emp  where ename like '__a%';

3.查詢除了10、20號部門以外的員工姓名、部門編號。

 select ename,deptno  from emp  where deptno not between 10 and 20;

--where deptno not in (10,20);

4.查詢部門號為30號員工的信息,先按工資降序排序,再按姓名升序排序。

 select *  from emp  where deptno =30  order by sal desc, ename ;  

5.查詢沒有上級的員工(經理號為空)的員工姓名。

 select ename  from emp  where mgr is null;

6.查詢工資大於等於4500並且部門為10或者20的員工的姓名\工資、部門編號。

 select ename,sal,deptno  from emp  where sal>=4500 and deptno = 10 or 20;

--where sal>=4500 and deptno in (10,20);


免責聲明!

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



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