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