Oracle資料庫 拾漏補缺

2022-01-29 10:12:26 字數 2347 閱讀 6372

select語句的基本使用

可以查詢需要的列,行,可以進行多表鏈結,連線查詢。

select 後面跟的是要顯示的結果,可以是通過運算或者連線符號得出的偽列

null  空值

在資料庫中不確定的值,未定義的值叫做空值

空值不能引入到運算中,+ - * / 和空值的結果都是空

注意:在查詢中可以給表定義乙個別名以便於多個表的區分

||  鏈結運算子 

||  運算子可以鏈結列或者字串到另乙個列,生成的字串表示式作為乙個目標列

--

將姓名和職位顯示到一起

select e.ename||e.job from

p_emp e ;

--更有好的顯示方法

select e.ename||

'的職務是

'||e.job from p_emp e ;

||  操作符也可以用於批量操作

--

生成批量刪除表命令

select

'drop table

'|| tname ||';

'from tab

distinct  查詢去重複

--

去重複select

distinct e.job from p_emp e;

限制資料的返回

where  關鍵字

where 後面跟判斷語句  只有表中結果為 true 結果會顯示

注意:如果用字元作條件,需要注意大小寫

查詢student表中「95031

」班select s.*

from student s where s.class=

'95031

'

and:連線條件,  與

or: 或

not: 非

in:屬於

後面可以是多個資料,但資料型別需要一致

查詢空值

不能用 = , 因為在 select 中 = 是比較大小,但是 null 空值 沒有大小

注意: 在 update 中, =  是賦值, = 後面可以跟 null。

應使用 is  not  null  

--

去空值select e.job from p_emp e where e.mgr is

notnull;

like 模糊匹配

exits:exists其實等同於表關聯後,只取主表部分內容而已,用exists時 小表在前大表在後

connect by

一般用來查詢存在父子關係的資料,也就是樹形結構的資料;其返還的資料也能夠明確的區分出每一層的資料。

select

*from

table

[start with condition1

]connect by[

prior

] id=parentid

--

這種用法就表示從下往上查詢資料,可以理解為從葉子節點往上查詢父級幾點,用第一層資料的parentid去跟表記錄裡面的id進行匹配,匹配成功那麼查詢出來的就是第二層資料;

--上面的那種就是從父級節點往下查詢葉子節點。

select

*from

table

[start with condition1

]connect

by id=

[prior

] parentid

--

第一種,修改prior關鍵字位置

select t.*, level

, connect_by_root(id)

from

tab_test t

start

with t.id =

4connect

by t.id =

prior t.fid;

--第二種,prior關鍵字不動 調換後面的id=fid邏輯關係的順序

select t.*, level

, connect_by_root(id)

from

tab_test t

start

with t.id =

4connect

by prior t.fid = t.id;

作業系統 資料庫知識點查漏補缺二

簡述資料庫系統實現查詢優化的步驟,在集中式資料庫查詢中查詢代價主要考慮哪些開銷?1.將查詢轉化為某種內部表示,通常是語法樹.2.根據一定的等價變換規則把語法樹轉換成標準形式.3.選擇低層的操作演算法.對於語法樹中的每乙個操作需要根據訪問路徑,資料的儲存分布,儲存資料的聚簇資訊來選擇具體的執行演算法....

Realm資料庫拾遺

支援資料庫加密 產生隨機金鑰 nsmutabledata key nsmutabledata datawithlength 64 secrandomcopybytes ksecrandomdefault,key.length,uint8 t key.mutablebytes 開啟加密檔案 rlmre...

Realm資料庫拾遺

支援資料庫加密 產生隨機金鑰 nsmutabledata key nsmutabledata datawithlength 64 secrandomcopybytes ksecrandomdefault,key.length,uint8 t key.mutablebytes 開啟加密檔案 rlmre...