兩道簡單的oracle題目
最近一個朋友想讓我幫他一個忙,看似是一個很簡單的小忙,就是出兩道l題,一道可以難一些,可以透過這道題看出一個開發人員的資料庫水平,sql或者pl/sql都可以,另外一道題需要是一道sql題,可以透過這個題目看出開發人員的sql水平。
問題很簡單,但是要求不簡單,而且透過這兩個題目著實能夠反映得了出題者的水平,所以自己也是斟酌再三,一直沒有定下來這兩道題。
首先這兩道題是面向開發人員的,所以涉及到oracle中體系結構中比較細節的東西也是不太適用的,儘管tom還是一貫希望開發人員能夠儘可能多的熟悉資料庫體系結構,但是從我目前的瞭解來說,開發人員還是更多的把資料庫當做一個黑盒來使用,可能參與一些大型資料分析工作的人來生活,sql水平要高不少,但是可能更傾向於sql語句調優,這個時候和索引還是有很大的關聯,對於出題來說,可能面也有點大,所以斟酌再三,還是出了下面的這道題,是關於pl/sql的,但是和開發聯絡還是比較緊密的。
選出下面的可能存在效能問題的Pl/sql 塊。
1)
declare
cursor test_cur is select object_id,object_name from t ;
begin
for i in test_cur loop
execute immediate 'insert into t values(:a,:b)' using i.object_id,i.object_name;
end loop;
commit;
end;
/
2)
declare
cursor test_cur is select object_id,object_name from t ;
begin
for i in test_cur loop
execute immediate 'insert into t values('||i.object_id||','||chr(39)||i.object_name||chr(39)||')';
end loop;
commit;
end;
/
3)
declare
cursor test_cur is select object_id,object_name from t ;
begin
for i in test_cur loop
insert into t values(i.object_id,i.object_name);
end loop;
commit;
end;
/
4)
begin
for i in (select object_id,object_name from t) loop
execute immediate 'insert into t values(:a,:b)' using i.object_id,i.object_name;
end loop;
commit;
end;
/
這個題目的主要意圖就是希望在寫pl/sql的時候能夠考慮到繫結變數的值,對於sql語句的軟解析,硬解析的一些東西 ,這些方式可能在平時的工作都會涉及到,但是很可能自己沒有注意到其實有些pl/sql塊還是存在著很明顯的效能問題。
這道題目的答案是2
第二道題,是能夠從sql語句看出對方的水平來,自己也是斟酌再三,發現還是以一道比較簡單的題目來考察一下。
對於下面的sql語句,sql語句在解析的時候的順序是?
(1)Select empno,deptno
(2)from emp
(3)where deptno=1001
(4)group by deptno
(5)order by empno,
A. 1,2,3,4,5.
B. 2,3,4,1,5
C 5,4,3,2,1
D 2,3,4,5,1
透過這個問題可以看出大家對於一個簡單的sql語句的理解。可以看出哪些操作在前,哪些在後,透過這個也能間接反映出對於sql的理解,這個題目的答案為B
大家有什麼好的建議可以給我留言,也歡迎大家拍磚交流。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23718752/viewspace-1727162/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 一道簡單的題目引發的思考
- 聊聊一道簡單的javascript面試題JavaScript面試題
- 15道簡單演算法題演算法
- 【LeetCode】簡單題目集LeetCode
- 面試的2道題目 (哎)面試
- 十道簡單演算法題演算法
- 關於兩個簡單問題的分析
- 總結的一些簡單面試題目面試題
- Python的 100道題目Python
- 有趣的CSS題目(5): 單行居中,兩行居左,超過兩行省略CSS
- M – Sort it 一組簡單一點的題目(三)
- 一道簡單的分配演算法題,求解演算法
- The Center of Gravity(一道很很簡單的幾何題)
- 關於棧的幾道面試題目面試題
- 一道騷面試題目面試題
- 從兩道面試題說起面試題
- 對一道if-else相關的程式題的簡單分析
- 一道面試題目引發的思考面試題
- 面阿里P7,竟問這麼簡單的題目?阿里
- 用SQL解決兩道有趣的題(二)SQL
- 用SQL解決兩道有趣的題(一)SQL
- 通過一道簡單的例題了解Linux核心PWNLinux
- LeetCode簡單演算法題目-JS解法LeetCode演算法JS
- 面試官:你能回答這兩個簡單的問題嗎面試
- 這道演算法題太太太太太簡單啦演算法
- 分享一道有趣的 Leetcode 題目LeetCode
- ssd上一道題目引發的思考
- 面試現場簡單幾道java演算法題, 你能寫出幾道?面試Java演算法
- 2013成都網路賽 兩個簡單題
- LeetCode演算法簡單題--JavaScript(每天一道題)LeetCode演算法JavaScript
- 簡單的面試總結---內含面試題目 | 掘金技術徵文面試題
- bugku一道逆向題目分析
- 關於敏捷開發的兩道選擇題敏捷
- 一道關於隨機數生成的題目隨機
- 50道經典的JAVA程式設計題(目錄)Java程式設計
- 一維動態規劃和二維動態規劃中兩道經典題目動態規劃
- 精研3道簡單的網易2018校招程式設計題程式設計
- 簡單說兩句 Like 的優化優化