1. 程式人生 > >ORACLE查詢基本語句

ORACLE查詢基本語句

一、涉及內容

  1.掌握SELECT 語句的基本語法。

  2.掌握常用函式的使用。

二、具體操作

(一)使用Scott方案下的emp表和dept表,完成以下操作:

  1.查詢部門編號是20的員工資訊。

  2.查詢工作為CLERK的員工號、員工名和部門號。

 

  3.查詢獎金COMM高於工資SAL的員工資訊。

 

  4.查詢獎金高於工資20%的員工資訊。

 

  5.查詢部門編號是10並且工作為MANAGER的員工和部門編號是20並且工作是CLERK的員工資訊。

 

  6.查詢工作不是MANAGER和CLERK,並且工資大於或等於2000的員工資訊。

  7.查詢有獎金的員工資訊。

  8.查詢所有員工的人數和他們的平均工資。

 

  9.查詢沒有獎金或獎金低於100的員工資訊。

 10.查詢最近兩年入職的員工資訊。

 

 11.查詢工齡大於或等於10年的員工資訊。

 

 12.查詢員工資訊,要求以首字母大寫的方式顯示所有員工的姓名。

 

 13.查詢員工名正好為6個字母的員工資訊。

 14.查詢員工名字中不包含字母S的員工。

 

 15.查詢員工姓名的第二個字母為M的員工資訊。

 

 16.查詢所有員工姓名的前三個字元。

 

 17.查詢所有員工的姓名,如果包含字母s,則用S替換。

 

 18.查詢員工的姓名和入職日期,並按入職日期從先到後進行排序。

 

 19.顯示所有員工的姓名、工作、工資,按工作降序排序,若工作相同則按工資升序排序。

 

 20.顯示所有員工的姓名、入職的年份和月份,按入職日期所在的月份排序,若月份相同則按入職的年份排序。

 

 21.查詢每個部門中的員工數量、平均工資和平均工作年限。

 

 22.查詢各個部門的人數及平均工資。

 

 23.查詢各個工作的最低工資,並輸出最低工資低於3000的工作名稱。

  

 24.查詢各個部門中不同工種的最高工資。

 

 25.統計各個工種的員工人數與平均工資。

 

(二)習題

1.select語句

select length(電子郵件)from僱員;

將顯示什麼結果?(C)

A.僱員表中最長的電子郵件地址

B.僱員表中每個僱員的電子郵件地址

C.僱員表中“電子郵件”列中的每個值的字元數

D.“電子郵件”列中允許使用最多的字元數

2.若僱員表包含以下列:姓氏varchar2(20)、名字varchar2(20)、聘用日期date、計算月份number(3),那麼下列的select語句?

Select聘用日期+計算月份from僱員;

返回的值屬於那種資料型別?(A)

A. date    B. number    C. datetime      D. integer

3.假設有僱員表結構同上,以下哪條sql語句會正確地顯示部門90中所有的僱員的姓氏和聘用的週數?(A)

A.select姓氏,(sysdate-聘用日期)/7as周from僱員where部門標識=90;

B.select姓氏,(sysdate-聘用日期)/7display周from僱員where部門標識=90;

C.select 姓氏,週數 from 僱員 where  部門標識=90;

D.select姓氏,(sysdate-聘用日期)as周from僱員where部門標識=90;

4.假設產品表中包括價格number(7,2)列,對於下面的語句?

Select nvl(10/價格,‘0’)from產品;

如果“價格”列中包含空值,將會出現什麼情況?(A)

A.該語句將失敗,因為值不能被0除

B. 將顯示0值

C.將顯示10值

D.該語句將失敗,因為值不能被空值除

5.如果需要從僱員表中查詢部門10(銷售部)中薪金不足25000美元的僱員資訊,應執行以下哪個查詢語句才能完成此任務? (C)

A. select 姓氏,名字,薪金from僱員 where 薪金>25000and 部門標識=10;

B. select 姓氏,名字,薪金from僱員 where 薪金=25000and 部門標識=10;

C. select 姓氏,名字,薪金from僱員 where 薪金<25000and 部門標識=10;

D. select 姓氏,名字,薪金from僱員 where 薪金<25000or 部門標識=10;

6.評估以下select語句:

Select min(聘用日期),部門標識from僱員group By部門標識;

將顯示哪個值?(A)

A. 每個部門中最早的聘用日期

B. 僱員表中最早的聘用日期

C. 僱員表中最晚的聘用日期

D. 包含空值的僱員表中的聘用日期

7,以下哪個說法正確的解釋了無法執行以下sql語句的原因? (B)

Select部門標識“部門”,avg(薪金)“平均值” from 僱員group by部門;

A. 無法對薪金求平均值,因為並不是所有的數值都能被平分

B. 不能在group by 字句中使用列別名

C. group by 子句中必須有要分組的內容

D. 部門表中沒有列出部門標識

8.應使用以下哪個統計函式來顯示僱員表中的最高薪金值?(C)

A.avg B.count C.max D.min

9.統計函式將針對()返回一個值,並在計算過程中()空值.(A)

A.行集,忽略 B.每行,忽略  C.行集,包括  D.每行,包括

10.可對資料型別為date的列使用以下哪個統計函式?(B)

A.AVG B.MAX   C.STDDEV D.SUM