1. 程式人生 > >oracle 資料庫開發面試題

oracle 資料庫開發面試題

最近參加了數場面試,總結一下競聘oracle 開發崗位最常問到哪些問題:

1、delete 與 truncate 區別?

1)truncate 是DDL語句,delete 是DML語句;

2)truncate 速度遠快於 delete;

      原因是:當我們執行delete操作時所有表資料先被copy到回滾表空間,資料量不同花費時間長短不一。而truncate是直接刪除資料不進回滾表空間。

3)接(2)這也就導致了delete資料後我們可以執行rollback進行資料回滾,而truncate則是永久刪除不能回滾;

4)truncate 操作不會觸發表上的delete觸發器,而delete會正常觸發;

5)truncate語句不能帶where條件意味著只能全部資料刪除,而delete可刪除部分資料;

6)truncate 操作會重置表的高水位線(High Water Mark),而delete不會。

2、解釋一下資料庫三正規化?

3、NVL與NVL2兩個函式的用法和區別?

NVL (expr1, expr2):expr1為NULL,返回expr2;不為NULL,返回expr1。注意兩者的型別要一致
NVL2 (expr1, expr2, expr3) :expr1不為NULL,返回expr2;為NULL,返回expr3。expr2和expr3型別不同的話,expr3會轉換為expr2的型別 

看一下官方示例:commission即為工資提成

[email protected]> SELECT last_name, NVL(TO_CHAR(commission_pct), 'Not Applicable')
  2  "COMMISSION" FROM employees
  3  WHERE last_name LIKE 'B%'
  4  ORDER BY last_name;

LAST_NAME                 COMMISSION
------------------------- ----------------------------------------
Baer                      Not Applicable
Baida                     Not Applicable
Banda                     .1
Bates                     .15
Bell                      Not Applicable
Bernstein                 .25
Bissot                    Not Applicable
Bloom                     .2
Bull                      Not Applicable
[email protected]> SELECT last_name, salary, NVL2(commission_pct,
  2  salary + (salary * commission_pct), salary) income
  3  FROM employees WHERE last_name like 'B%'
  4  ORDER BY last_name;

LAST_NAME                     SALARY     INCOME
------------------------- ---------- ----------
Baer                           10000      10000
Baida                           2900       2900
Banda                           6200       6820
Bates                           7300       8395
Bell                            4000       4000
Bernstein                       9500      11875
Bissot                          3300       3300
Bloom                          10000      12000
Bull                            4100       4100

4、集合操作符minus和interset

假設表A和表B資料如下:

表A:

data

----------

a

b

b

c

表B

data

----------

b

c

d

d

問1:SELECT DATA FROM A  MINUS SELECT DATA FROM B; 執行結果?

--------------------------------------------------------------------------------------------------

答案:

a

問2:SELECT DATA FROM A  INTERSECT SELECT DATA FROM B; 執行結果?

 答案:

b

c

集合操作符總結:

1)UNION:由每個查詢 選擇的 所有不重複的行組成。並集不包含重複值, 預設按第 1 個查詢的第 1 列升序排列。

2)UNION ALL: 由每個查詢 選擇的 所有的行,完全並集包含重複值, 不排序。

3)  MINUS : 在第一個查詢中, 不在後面查詢中的行。不包含重複, 按第1 查詢的第 1 列升序排列。

4)INTERSECT: 取每個查詢結果的交集, 不包含重複行, 按1 個查詢的第 1 列升序排列。


敬請期待!

------------------------------

Dylan    Presents.

相關推薦

最常見的oracle資料庫面試題oracle資料庫開發試題

選擇題(20分,每題4分) 1. 利用遊標來修改資料時,所用的..FOR UPDATE充分利用了事務的哪個特性?() A、原子性 B、一致性 C、永久性 D、隔離性 下列說法,正確的說法是() A、只要在儲存過程中有增刪改語句,一定加自

oracle 資料庫開發試題

最近參加了數場面試,總結一下競聘oracle 開發崗位最常問到哪些問題: 1、delete 與 truncate 區別? 1)truncate 是DDL語句,delete 是DML語句; 2)tru

個人試題Oracle資料庫開發

1、事務槽 update delete 爭用事務槽 每個塊都有資料槽 2、100萬 分割槽 一億 分割槽 區別… 一億資料量可以考慮子分割槽 分表 分割槽合理的話查詢效能無差 3、800萬資料索引 查詢幾條資料效能提升很大 查詢大量資料 全表比索引要好 索引

oracle 數據庫開發試題

target nco nvl -a font tails 當我 employ index 近期參加了數場面試。總結一下競聘oracle 開發崗位最常問到哪些問題: 1、delete 與 truncate 差別? 1)truncate 是DDL語句,del

java後端開發試題(MySQL資料庫

1.mysql優化2.mysql常用的引擎有哪些,說說你對InnoDB的瞭解3.mysql瓶頸4.事務特性5.事務的隔離級別6.sql查詢每門課程成績都大於80分的學生姓名(表table,欄位sname,subject,score)select sname from tabe

2017 Java開發試題-資料庫篇(1)

1、儲存過程 --建立 CREATE PROCEDURE pro_name(IN inputName inputType, OUT outputName outputType) BEGIN--sql statement...SELECT ** INTO outputName

【面試】iOS 開發試題(一)

readonly ava obj jce easy 主動 每一個 我不 com   1. #import 跟#include 又什麽差別,@class呢, #import<> 跟 #import””又什麽差別?   答:#import是Obje

web前端開發試題(未完待續)

tex ora 相對 設置 erl 思路 實現 多列 寬度 一、HTML與XHTML的不同:1)XHTML元素必須被正確地嵌套 2)元素必須被關閉 如:<h1>……&l

前端開發--試題整理(JS篇)

狀態 state oda 通過 cli 命名空間 script push arguments 1.截取字符串abcdace的acealert(‘abcdace‘.substring(4)); 2.規避javascript多人開發函數重名問題命名空間封閉空間js模塊化mvc(

入我新美大的Java後臺開發試題總結

情況 查詢優化 做什麽 工作 我認 人的 方便 xpl 別人   靜兒最近在總結一些面試題,那是因為做什麽事情都要認真。面試也一樣,靜兒作為新美大金融部門的面試官,負責任的告訴大家,下面的問題回答不上來,面試是過不了的。不過以下絕不是原題,你會發現自己實力不過硬,最終肯定是

Python 開發試題

方框 port equal 類別 透明度 classes 外鍵 glob dex Python部分 將一個字符串逆序,不能使用反轉函數 求從10到100中能被3或5整除的數的和 What is Python? What are the benefits of usi

Java後臺開發試題總結

情況 swap sql 行數 his 本地方法棧 特性 jndi buffer 1>如何定位線上服務OOM問題  2>JVM的GC ROOTS存在於那些地方 3>mysql innodb怎樣做查詢優化 4>java cas的概念 Java服務OO

Java開發試題歸類( 題目篇)

有環 cin 耦合 優點 樂觀 生成算法 tile socket 例如 準備根據面試題來系統把知識點歸納總結學習一下,先將題目羅列出來! 一、Java基礎 1. String類為什麽是final的。 2. HashMap的源碼,實現原理,底層結構。 3. 說說你知道的

試題:各大公司Java後端開發試題總結 !=!未看

array water 沒有 引用 run 模塊 transacti 速度 相關 ThreadLocal(線程變量副本) Synchronized實現內存共享,ThreadLocal為每個線程維護一個本地變量。 采用空間換時間,它用於線程間的數據隔離,為每一個使用該變量的線

python3 開發試題(%s和format的區別)5.31

什麽 字符 color 對象屬性 pri arguments 坐標 保留兩位小數 面試題 在格式化字符串中有兩種方法:   1、%s   2、format 大家常用的是哪一種方法?為什麽要用你選的這種方法? 我們先看一個例子: 首先我們定義一個我軍需要擊殺的恐怖分

python3 開發試題(生成列表)6.2

turn alt 技術分享 img python3 lose append cli 函數 """ l1 = [11, 2, 3, 22, 2, 4, 11, 3] 去重並保持原來的順序 """ #方式一 for 循環方法 l1 = [11, 2,

python3 開發試題(裝飾器必須考)6.4

args 返回 event aps 面試題 wrap spl def pen def f(): print("2018-06-04") # 每次調用f的時候 在打印"2018-06-04" 之前打印一句 開始, 之後再打印一句 結束 d

python3-開發試題(python)6.23基礎篇(2)

漢字 2個 特殊 問題 ase 第一個 else () 判斷 1、請至少列舉5個 PEP8 規範(越多越好)。 一、代碼編排 1、縮進。4個空格的縮進,不使用Tap,更不能混合使用Tap和空格 2、每行最大長度79,換行可以使用反斜杠,最好使用圓括號。換行點要在操作符

Java開發試題,3年工作經驗的Java程序員面試經

知識 意義 個數 三次握手 post 爬蟲 重復 程序員面試 列表 一、Java基礎部分 1、使用length屬性獲取數組長度,public、private、protected、friendly區別 2、Collection和Collections區別 3、String s

某度質量部測試開發試題1(未完待續)

ont 體會 控制 工作 ans 發生 優缺點 wrap 動態 點擊鏈接加入QQ群 522720170(免費公開課、視頻應有盡有):https://jq.qq.com/?_wv=1027&k=5C08ATe1. 黑盒測試和白盒測試常用的測試方法有哪些?舉例說明。答: