您好,登錄后才能下訂單哦!
1.基本語(yǔ)法:SELECT *[列名 [[AS] 別名], 列名2...] FROM 表名 [[AS] 別名];
2. 使用||做連接:Oracle中的字符串用單引號(hào)。
例:SELECT '姓名:'||ename||'月薪'||sal FROM emp;
3. 使用DISTINCT可以消除重復(fù)內(nèi)容
4. WHERE子句:使用WHERE指定的條件對(duì)數(shù)據(jù)進(jìn)行篩選,返回符合條件的記錄(行)。
SELECT *[|列名 [[AS] 別名], 列名2...]
FROM 表名 [[AS] 別名]
WHERE 條件;
1) WHERE子句可以包括運(yùn)算符,SQL操作符,使用(),常量,列,函數(shù)。
5. 運(yùn)算符:
1) 算術(shù):+ - * /
2) 比較:> >= < <= = !=(<>),
ANY(值1,值2...) ALL(值1,值2...) 不能單獨(dú)使用,要配合>,>=,<,<=來(lái)使用
3) 邏輯:AND OR NOT
6. SQL操作符:
1) IN(值1,值2...)
2) LIKE '模式字符串':_代表任意一個(gè)字符,%代表0到n個(gè)字符
3) BETWEEN 數(shù)值1 AND 數(shù)值2:不僅可用于數(shù)值,還可以用于日期時(shí)間
4) IS NULL,IS NOT NULL:匹配空值,非空值。對(duì)于空值一定不能用=或!=
5) IS NAN:非數(shù)字。IS NOT NAN:數(shù)字。Oralce特有
7. Oracle特有的偽列:
1) ROWID: Oracle內(nèi)部對(duì)每個(gè)表的每一行都有一個(gè)唯一的標(biāo)識(shí)。
★2) ROWNUM: Oracle對(duì)每次查詢結(jié)果集的每一行記錄都有一個(gè)行號(hào)。
對(duì)結(jié)果集的數(shù)據(jù)進(jìn)行標(biāo)識(shí)。不能對(duì)ROWNUM直接使用>,>=,!=,between..and..
怎么來(lái)獲取第5條到第10條的記錄呢?子查詢,連接查詢
8. 對(duì)結(jié)果進(jìn)行排序:
SELECT *[|列名 [[AS] 別名], 列名2...]
FROM 表名 [[AS] 別名]
WHERE 條件
ORDER BY 排序列名 [ASC|DESC], 排序列名 [ASC|DESC]...;
9. SQL函數(shù):數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)提供的一些功能封裝。不同的數(shù)據(jù)庫(kù)產(chǎn)品所提供的函數(shù)不盡相同。
1) 單行函數(shù):同時(shí)只能對(duì)一行進(jìn)行操作,且對(duì)于每一行返回一個(gè)值。
聚合函數(shù):同時(shí)對(duì)多行進(jìn)行操作,這多行只返回一個(gè)值。
2) 單行函數(shù):
a) 字符串:lower(char),upper(char),length(char),initcap(x)
b) 數(shù)字:round(number,n)
c) 日期時(shí)間:sysdate 返回?cái)?shù)據(jù)庫(kù)所在操作系統(tǒng)的當(dāng)前日期時(shí)間。
systimestamp 返回?cái)?shù)據(jù)庫(kù)所在操作系統(tǒng)的當(dāng)前時(shí)間戳。
last_day(d) 返回指定日期當(dāng)月的最后一天的日期時(shí)間
trunc(d[,unit]) 截?cái)嗳掌跁r(shí)間,unit: 'year', 'month', 'day'
d) dual表是Oracle提供給任何用戶的一個(gè)表,常用在沒(méi)有目標(biāo)表的SELECT語(yǔ)句中。
e) 轉(zhuǎn)換函數(shù):
to_char(datatime[,format]), format: yyyy,mm,dd,hh34,mi,ss
to_char(number[,format]), format: l, 9, ','
to_date(char[,format]), 字符串-->日期時(shí)間
to_timestamp(char[,format]), 字符串-->日期時(shí)間戳
to_number(expr[,format])
f)其它函數(shù):
nvl(expr1,expr2) 如果expr1為空,返回expr2的值,否則返回expr1。
nvl2(expr1,expr2, expr3) 如果expr1不為空,返回expr2,否則返回expr3。
decode(expr, search2,result1,search3,result2,...)
case expr when search2 then result1
when search3 then result2
...
else resultn
end
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。