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