Rumah > pangkalan data > tutorial mysql > Oracle 数据库开发面试题

Oracle 数据库开发面试题

z老师
Lepaskan: 2020-07-31 17:25:53
asal
5199 orang telah melayarinya

Oracle 数据库开发面试题

当我们执行delete操作时所有表数据先被copy到回滚表空间,数据量不同花费时间长短不一。而truncate是直接删除数据不进回滚表空间

【专题推荐】:2020年oracle面试题汇总(最新)

最近参加了数场面试,总结一下竞聘Oracle 开发岗位最常问到哪些问题:

1、delete 与 truncate 区别?

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

2)truncate 速度远快于 delete;

原因是:当我们执行delete操作时所有表数据先被copy到回滚表空间,数据量不同花费时间长短不一。而truncate是直接删除数据不进回滚表空间。

3)接(2)这也就导致了delete数据后我们可以运行rollback进行数据回滚,而truncate则是永久删除不能回滚;

4)runcate 操作不会触发表上的delete触发器,而delete会正常触发;

5)truncate语句不能带where条件意味着只能全部数据删除,而delete可删除部分数据;

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

2、NVL与NVL2两个函数的用法和区别?

NVL (expr1, expr2):expr1为NULL,返回expr2;不为NULL,返回expr1。注意两者的类型要一致

NVL2 (expr1, expr2, expr3) :expr1不为NULL,返回expr2;为NULL,返回expr3。expr2和expr3类型不同的话,expr3会转换为expr2的类型

看一下官方示例:commsion即为工资提成

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

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

Salin selepas log masuk

相关学习推荐:oracle数据库学习教程

Label berkaitan:
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan