Oracle sql語句練習

來源:互聯網
上載者:User

標籤:

--1、選擇在部門 30 中員工的所有資訊select * from emp where EMPNO=30;--2、列出職位為(MANAGER)的員工的編號,姓名select EMPNO, ENAME from emp where job=‘MANAGER‘;--3、找出獎金高於工資的員工select * from emp where COMM>SAL;--4、找出每個員工獎金和工資的總和select  EMPNO,ENAME,COMM+SAL from emp;--5、找出部門 10 中的經理(MANAGER)和部門 20 中的普通員工(CLERK)  select * from emp where (DEPTNO=10 and job=‘MANAGER‘) or (DEPTNO=20 and job=‘CLERK‘); --6、找出部門 10 中既不是經理也不是普通員工,而且工資大於等於 2000 的員工 select * from emp where job not in (‘MANAGER‘,‘CLERK‘) and SAL>=2000;--7、找出有獎金的員工的不同工作 select distinct job from emp; --8、找出沒有獎金或者獎金低於 500 的員工 select * from emp where COMM is null or COMM >500;--9、顯示僱員姓名,根據其服務年限,將最老的僱員排在最前面 select ename,HIREDATE from emp order by HIREDATE desc;--10、找出每個月倒數第三天受雇的員工(如:2009-5-29)  select *  from emp where EXTRACT(day FROM to_date(sysdate,‘yyyy-mm-dd‘)) - EXTRACT(day FROM to_date(HIREDATE,‘yyyy-mm-dd‘)) =3; --11、找出 25 年前雇的員工 select *  from emp where EXTRACT(year FROM to_date(sysdate,‘yyyy-mm-dd‘)) - EXTRACT(year FROM to_date(HIREDATE,‘yyyy-mm-dd‘)) >25;  --12、所有員工名字前加上 Dear ,並且名字首字母大寫   select ‘Dear‘||initcap(ename) from emp;--13、找出姓名為 5 個字母的員工  select * from emp where  ENAME like ‘_____‘;--14、找出姓名中不帶 R 這個字母的員工 select * from emp where  ENAME not like ‘%R%‘;--15、顯示所有員工的姓名的第一個字 select substr(ename,0,1) as name from emp;--16、分組統計各部門下工資>500 的員工的平均工資、  select avg(SAL) from emp where SAL>500 ;--17、統計各部門下平均工資大於 500 的部門  select DEPTNO ,avg(SAL) from emp group by  DEPTNO having avg(SAL)>500;  --18、算出部門 30 中得到最多獎金的員工獎金 select max(COMM) from EMP where DEPTNO=30;--19、算出部門 30 中得到最多獎金的員工姓名  select ENAME from EMP where comm in (select max(COMM) from EMP where DEPTNO=30);--20、算出每個職位的員工數和最低工資 select job,count(*) as num,min(SAL) from emp group by job;
View Code

僱員表:記錄了一個僱員的基本資料
EMP(僱員表)
NO               欄位            類型                           描述
1             EMPNO           NUMBER(4)             僱員編號
2             ENAME          VARCHAR2(10)     表示僱員姓名
3            JOB               VARCHAR2(9)        表示工作職位
4            MGR               NUMBER(4)            表示一個僱員的領導編號
5             HIREDATE      DATE                     表示僱傭日期
6             SAL                NUMBER(7,2)         表示月薪,工資
7            COMM            NUMBER(7,2)         表示獎金或傭金
8             DEPTNO         NUMBER(2)           表示部門編號

 

 

部門表:表示一個部門的具體資訊
DEPT(部門表)
NO                   欄位            類型                              描述
1                   DEPTNO        NUMBER(2)               部門編號
2                    DNAME          VARCHAR2(14)          部門名稱
3                    LOC                VARCHAR2(13)           部門位置

 

獎金錶:表示一個僱員的工資及獎金。

BONUS(獎金錶)
NO                 欄位                 類型                                描述
1                 ENAME            VARCHAR2(10)               僱員姓名
2                JOB                 VARCHAR2(9)                  僱員工作
3                SAL                  NUMBER                         僱員工資
4                COMM              NUMBER                           僱員獎金

 

一個公司是有等級制度,用此表表示一個工資的等級
SALGRADE(工資等級表)
NO          欄位                       類型                                  描述
1           GRADE                  NUMBER                          等級名稱
2            LOSAL                    NUMBER                    此等級的最低工資
3          HISAL                      NUMBER                    此等級的最高工資

題目:

1、 選擇在部門 30 中員工的所有資訊 


2
、列出職位為(MANAGER)的員工的編號,姓名 

3、找出獎金高於工資的員工  

4、找出每個員工獎金和工資的總和 

5、找出部門 10 中的經理(MANAGER)和部門 20 中的普通員工(CLERK) 

6、找出部門 10 中既不是經理也不是普通員工,而且工資大於等於2000 的員工 

7、找出有獎金的員工的不同工作 

8、找出沒有獎金或者獎金低於 500 的員工 
 
9、顯示僱員姓名,根據其服務年限,將最老的僱員排在最前面 

10、找出每個月倒數第三天受雇的員工(如:2009-5-29)  

11、找出 25 年前雇的員工 
  
12、所有員工名字前加上 Dear ,並且名字首字母大寫   

13、找出姓名為 5 個字母的員工  
  
14、找出姓名中不帶 R 這個字母的員工 

 

15、顯示所有員工的姓名的第一個字 

16、分組統計各部門下工資>500 的員工的平均工資、  
  
17、統計各部門下平均工資大於 500 的部門  
  
18、算出部門 30 中得到最多獎金的員工獎金 
  
19、算出部門 30 中得到最多獎金的員工姓名  

 
20
、算出每個職位的員工數和最低工資 

Oracle sql語句練習

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.