1、DISTINCT用法:
SELECT DISTINCT A.NAME , A.STUDENT_ID , A.SEX FROM TABLE STUDENT
這條SQL語句是從學生表裡查詢了姓名,學號,性別,但是DISTINCT的查詢規則是只要有一個不同,就是符合條件的。
例: 源數據 查詢結果
ID NAME SUTDENT_ID SEX NAME STUDENT_ID SEX
1 張明 101 男 張明 101 男
2 張明 102 男 張明 102 男
3 張明 101 男 李倩 103 女
4 李倩 103 女
2、WMSYS.WM_CONCAT用法:用來連接字符,中間用 , 隔開。
SELECT WMSYS.WM_CONCAT(STUDENT_ID) AS STUDENT_ID FROM STUDENT GROUP BY (NAME)
查詢結果:101,102
3、SUBSTR用法:SUBSTR(字符串,起始位置,截取長度),默認查找順序從左到右,當起始位置為負數的時候,從右邊開始查找。
SELECT SUBSTR('slighthost.com' , 0 , 1) AS M FROM DUAL //返回結果是s ,從字符串的第一個位置開始截取長度為1的字符串。
SELECT SUBSTR('slighthost.com', 1, 1) AS M FROM DUAL //返回結果是s,0和1都表示截取的開始位置為第一個字符。
SELECT SUBSTR('slighthost.com' , 14, 1) AS M FROM DUAL //返回結果是m,從最後一個字符開始截取。
SELECT SUBSTR('slighthost.com' , -1, 1) AS M FROM DUAL //返回結果是m,-1表示從最後一個字符開始截取。
SELECT SUBSTR('slighthost.com' , -8, 3) AS M FROM DUAL //返回結果是hos,-8表示從右到左數的第8個字符開始截取。
4、INSTR用法:INSTR(源字符串,要查找的字符串,從第幾個字符開始,要找到第幾個匹配的序號),查找順序與SUBSTR相同。
SELECT INSTR('collaboration floor','or',1,2) AS M FROM DUAL // 返回結果是18
SELECT INSTR('collaboration floor','or',-1,2) AS M FROM DUAL // 返回結果是7
SELECT SUBSTR('collaboration floor' , INSTR('collaboration floor','or',-1,2) , 3 ) FROM DUAL //返回結果是ora
5、MERGE INTO用法:
在數據操作時,有時可能需要將一個數據表的某些字段添加或更新到另一張數據表裡,這時就有一個高效率的SQL語句。
merge into a
using (select b.* from a, b where a.id = b.id and a.qty <> b.qty ) b
on (a.id = b.id) //這條語句是說明兩個表拷貝的連接條件
when matched then //如果存在a.id = b.id,那麼就更新a.qty = b.qty
update set a.qty = b.qty
when not matched then //如果不存在a.id=b.id,那麼就將b中的id、qty添加到a表中
insert (a.id,a.qty)
values(b.id,b.qty)