SQL面試題
1:找出公司裏收入最高的前三名員工:
SQL> select rownum, last_name, salary
2 from (select last_name, salary
3 from s_emp
4 order by salary desc)
5 where rownum<=3;
ROWNUM LAST_NAME SALARY
---------- ------------------------- ----------
1 Velasquez 4750
2 Ropeburn 2945
3 Nguyen 2897.5
注意:請大家分析一下一下語句為什麼不對:
SQL> select rownum, last_name, salary
2 from s_emp
3 where rownum<=3
4 order by salary desc;
ROWNUM LAST_NAME SALARY
---------- ------------------------- ----------
1 Velasquez 4750
3 Nagayama 2660
2 Ngao 2000
2: 找出表中的某一行或某幾行的數據:
(1):找出表中第三行數據:
用以下方法是不行的,因為rownum後面至可以用<或<=號,不可以用=,>號和其它的.比較符號。
SQL> select * from s_emp
2 where rownum=3;
no rows selected
SQL> select * from s_emp
2 where rownum between 3 and 5;
no rows selected
正確的方法如下:
SQL> l
1 select last_name, salary
2 from (select rownum a, b.*
3 from s_emp b)
4* where a=3
SQL> /
LAST_NAME SALARY
------------------------- ----------
Nagayama 2660
(2):找出第三行到第五行之間的數據:
SQL> l
1 select last_name, salary
2 from (select rownum a, b.*
3 from s_emp b)
4* where a between 3 and 5
SQL> /
LAST_NAME SALARY
------------------------- ----------
Nagayama 2660
Quick-To-See 2755
Ropeburn 2945
3:找出那些工資高於他們所在部門的平均工資的員工。
(1):第一種方法:
SQL> select last_name, dept_id, salary
2 from s_emp a
3 where salary>(select avg(salary)
4 from s_emp
5 where dept_id=_id);
LAST_NAME DEpT_ID SALARY
------------------------- ---------- ----------
Velasquez 50 4750
Urguhart 41 2280
Menchu 42 2375
Biri 43 2090
Catchpole 44 2470
Havel 45 2483.3
Nguyen 34 2897.5
Maduro 41 2660
Nozaki 42 2280
Schwartz 45 2090
10 rows selected.
(2):第二種方法:
SQL> l
1 select _name, ry, _id, al
2 from s_emp a, (select dept_id, avg(salary) avgsal
3 from s_emp
4 group by dept_id) b
5 where _id=_id
6* and ry>al
SQL> /
LAST_NAME SALARY DEpT_ID AVGSAL
------------------------- ---------- ---------- ----------
Velasquez 4750 50 3847.5
Urguhart 2280 41 2181.5
Menchu 2375 42 2055.16667
Biri 2090 43 1710
Catchpole 2470 44 1995
Havel 2483.3 45 2069.1
Nguyen 2897.5 34 2204
Maduro 2660 41 2181.5
Nozaki 2280 42 2055.16667
Schwartz 2090 45 2069.1
10 rows selected.
4:找出那些工資高於他們所在部門的manager的工資的員工。
SQL> l
1 select id, last_name, salary, manager_id
2 from s_emp a
3 where salary>(select salary
4 from s_emp
5* where id=ger_id)
SQL> /
ID LAST_NAME SALARY MANAGER_ID
---------- ------------------------- ---------- ----------
6 Urguhart 2280 2
7 Menchu 2375 2
8 Biri 2090 2
9 Catchpole 2470 2
10 Havel 2483.3 2
12 Giljum 2831 3
13 Sedeghi 2878.5 3
14 Nguyen 2897.5 3
15 Dumas 2755 3
16 Maduro 2660 6
10 rows selected.
相關文章
-
Oracle 之 SQL面試題
尊敬的黨組織:今年,公司黨支部對廣大員工定期舉行座談、並通過給員工宣講當前社會形勢和xx普法工作,員工的法律教育程度得到了提高,工作積極性也顯著提升,無違法亂紀的事情發生。並且,公司從員工的解度來看待問題,建立員工思 -
sql語句面試題
在形狀漂亮的飲料瓶外面纏上各種顏色的紙繩就能做出各種漂亮的花瓶。這個花瓶我選了淺藍和明黃的搭配,冷暖色相配,顏色也很淡雅,看起來十分和諧,有股小清新的感覺。主要材料:空飲料瓶彩色紙繩所需工具:剪刀雙面膠乳膠製作步 -
「MySQL」經典面試題
MySQL是一個關係型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下產品。下面是小編分享的,歡迎大家閲讀! 經典面試題目1、MySQL的複製原理以及流程基本原理流程,3個線程以及之間的關聯;2、MySQL中myisa -
mysql dba面試題及答案
1, mysql的複製原理以及流程。(1)先問基本原理流程,3個線程以及之間的關聯。(2)再問一致性,延時性,數據恢復。(3)再問各種工作遇到的複製bug的解決方法3,問mysql中varchar與char的區別以及var50)中的30代表的涵義。(1)varc -
騰訊公司費解的sql面試題歸納
今天去騰訊面試了,遇到這麼一道sql方面的題,甚是費解已知 小小+霸霸+王王=小霸王小=?,霸=?,王=?用sql求證大家給點看法分享分享!!!!看了大家這麼多答案最後提醒大家一點是用sql求證 這才是這道題目的重點當然用別的方法 -
sql server dba面試題
erver 2008 R2 on windows server 2008 R2羣集中,有節點A、B,現在需要停機新添加一個節點C進來替換現有節點B,請列出必要的步驟.erver 2008 R2 on windows server 2008 R2羣集中,有節點A、B,A節點內存比B節點內存大一倍,為 -
php mssql 數據庫分頁SQL的語句
謎面三峯山之戰謎語類型打一電影名謎底金元撲殺 -
SQL語句查詢的考試題分析
我們班有一個同學,他叫小何,今年滿十歲,他愛搗蛋, 我們都稱他是搗蛋鬼,但我們都很喜歡他。他長着一張圓圓的臉,彎彎的眉毛像倒掛的彎月,修長的睫毛就像剛剛修整過了很好看,那兩顆藍寶石似的眼睛不停地眨着 ,他一哭鼻子眉頭就會 -
英語面試問題:Which college classes did you like the
放假的第一天我便和同學約好去玩,來到公園便被人羣吸引去,看見一棵葉子是深綠色,二回羽複葉成掌狀排列,每一根葉軸上有七至二十四對長條小葉子。它的莖上還長出一根根堅硬的刺的小草。聽説它叫含羞草。回去後便讓媽媽帶我 -
計算機二級mysql數據庫模擬試題
為了使廣大考生在備戰計算機等級考試時,更快的掌握相應知識點,下面是小編搜索整理的計算機二級mysql數據庫模擬試題,供參考練習,預祝考生們考出自己理想的成績!計算機二級mysql數據庫模擬試題及答案1) from student where