Oracle 資料庫開發面試題

來源:互聯網
上載者:User

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不會。

ps: 有關高水位線HWM知識清參考文章:

Linux-6-64下安裝Oracle 12C筆記

在CentOS 6.4下安裝Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虛擬機器中安裝步驟

Debian 下 安裝 Oracle 11g XE R2

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的類型

看一下官方樣本:commsion即為工資提成

HR@orcl> 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

 

HR@orcl> 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

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.