1. 程式人生 > >Oracle數據庫——SQL基本查詢

Oracle數據庫——SQL基本查詢

子郵件 分組 char manager ima 表結構 image clerk 標識

一、涉及內容

  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 

來源:https://www.cnblogs.com/shenxiaolin/p/5514064.html

Oracle數據庫——SQL基本查詢