SQL 語句基礎
運算子 | 用途 | 例子 |
+ - | 表示正數或負數,正數可省去 + | -1234.56 |
+ | 將兩個數或表示式進行相加 | A=c+b |
- | 將兩個數或表示式進行相減 | 34-12 |
* | 將兩個數或表示式進行相乘 | 12*34 |
/ | 除以一個數或表示式 | 18*11 |
NULL | 空值判斷 | Where name is null; |
|| | 字串連線 | ‘101-’||tel_num |
= | 等於測試 | Select * from emp where name=’趙元傑’; |
!= 或<>或^= | 不等於測試 | Select * from emp where name !=’趙元傑’; |
< | 小於測試 | Select * from emp where sal < 5000; |
> | 大於測試 | Select * from emp where sal > 5000; |
<= | 小於等於測試 | Select * from emp where sal <= 5000; |
>= | 大於等於測試 | Select * from emp where sal >= 5000; |
Not in | 測試某值是否在一個指定的結果集中 | Select name,addr from expert where local not in(‘北京’,’上海’); |
ANY | 將一個值與一組值進行比較,返回滿足條件的結果。必須跟!=,,<=,>= | select ename,sal from emp where sal<= any(select sal from emp where deptno=10) |
SOME | 同ANY,必須跟!=,,<=,>= | |
ALL | 將一個值與一組值比較,返回滿足條件的所有列值。必須跟!=,,<=,>= | Select name,sal from emp w here sal<= all ( 500,800,1200); |
Not between A and B | 判斷某個值是否界於兩者之間。 | Select name,sal from emp Where sal between 500 and 1200; |
[not]exists | 判斷某個列是否存在於一組值中。 | select dname,deptno from dept where exists (select * from emp where dept.deptno=emp.deptno) |
A[not]like b | 比較兩個模式是否相似,當使用like 語句時Oracle不去訪問索引。 | Select * from emp Where ename like ‘TH%’; |
Is [not] null | 測試值是否為空。 | Select ename,deptno from emp Where comm. Is null or comm.=0; |
Not | 對結果的否定。 | Select * from emp Where sal not(sal<1000); 等價於select ename,sal from emp where sal>=1000; |
AND | 用於判斷兩個條件十分都滿足。 | Select * from emp where Ename=’SIMTH’ and sal>=1000; |
OR | 用於判斷兩個條件中是否有一個滿足。 | Select * from emp where Ename=’SIMTH’ or ename=’SCOTT’; |
用於返回(組合)兩個查詢中所有唯一的行。 | Select ename from emp union Select ename from emp; | |
UNION ALL | 用於返回(組合)兩個查詢中所有所有的行。 | |
INTERSECT | 用於返回兩個查詢中相同的行。 | Select ename from emp1 intersect select ename from emp2; |
MINUS | 用於返回兩個查詢中的不同的行。 |
Oracle系統為了實現完整的關聯式資料庫功能,系統專門提供了一組稱為偽列(Pseudocolumn)的資料庫列,這些列不是在建立物件(如建表)時由我們完成的,而是在我們建立物件時由自動Oracle完成的。Oracle目前有以下的偽列:
CURRVAL and NEXTVAL 使用序列號的保留字
LEVEL 查詢資料所對應的級
ROWID 記錄的唯一標識
ROWNUM 限制查詢結果集的數量
Oracle 還提供了一個DUAL 的偽表,該目的表主要是保證在使用SELECT 語句中語句的完整性而提供的,如:我們要查詢當前的系統日期及時間,而系統的日期和時間並是放在一個指定的表裡。所以在 from 語句後就沒有表名給出。為了使用 from 後有個表名,我們就用DUAL代替。如:
例1:查詢Oracle系統日期及時間:
SQL> select to_char( sysdate,'yyyy.mm.dd hh24:mi:ss') from DUAL;
TO_CHAR(SYSDATE,'YY
-------------------
2001.06.02 07:28:09
例2:計算一下 5000+5000*0.1 的結果是多少,則:
SQL> select 5000+5000*0.1 from DUAL;
5000+5000*0.1
-------------------
5500
函 數 | 說 明 |
ASCII | 返回對應字元的十進位制值 |
CHR | 給出十進位制返回字元 |
CONCAT | 拼接兩個字串,與 || 相同 |
INITCAT | 將字串的第一個字母變為大寫 |
INSTR | 找出某個字串的位置 |
INSTRB | 找出某個字串的位置和位元組數 |
LENGTH | 以字元給出字串的長度 |
LENGTHB | 以位元組給出字串的長度 |
LOWER | 將字串轉換成小寫 |
LPAD | 使用指定的字元在字元的左邊填充 |
LTRIM | 在左邊裁剪掉指定的字元 |
RPAD | 使用指定的字元在字元的右邊填充 |
RTRIM | 在右邊裁剪掉指定的字元 |
REPLACE | 執行字串搜尋和替換 |
SUBSTR | 取字串的子串 |
SUBSTRB | 取字串的子串(以位元組) |
SOUNDEX | 返回一個同音字串 |
TRANSLATE | 執行字串搜尋和替換 |
TRIM | 裁剪掉前面或後面的字串 |
UPPER | 將字串變為大寫 |
NVL | 以一個值來替換空值 |
LPAD(string,Length[,'set'])
TRIM可以使你對給定的字串進行裁剪(前面,後面或前後)。
如果指定 LEADING, Oracle 從trim_char 中裁剪掉前面的字元;
如果指定TRAILING, Oracle 從trim_char 中裁剪掉尾面的字元;
如果指定兩個都指定或一個都沒有給出,Oracle從trim_char 中裁剪掉前面及尾面的字元;
如果不指定 trim_character, 預設為空格符;
如果只指定trim_source, Oracle Oracle從trim_char 中裁剪掉前面及尾面的字元。
例子:將下面字串中的前面和後面的‘0‘字元都去掉:
SELECT TRIM (0 FROM 0009872348900) "TRIM Example" FROM DUAL;
TRIM example
--------------------------------
函式 | 說明 |
Value1 + value2 | 加 |
Value1 - value2 | 減 |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/64991/viewspace-1006126/,如需轉載,請註明出處,否則將追究法律責任。
請登入後發表評論
登入
全部評論
|
相關文章
- SQL語言基礎(SELECT語句)SQL
- MySQL指南之SQL語句基礎MySql
- GaussDB SQL基礎語法示例-迴圈語句SQL
- SQL基礎的查詢語句烈鉍SQL
- mysql資料庫sql語句基礎知識MySql資料庫
- Python基礎-if,for語句Python
- MySQL基礎語句MySql
- python基礎語法—語句Python
- 【MySQL】MySQL基礎(SQL語句、約束、資料型別)MySql資料型別
- mysql基礎複習(SQL語句的四個分類),MySql
- java基礎-衛語句Java
- Java中如何解析SQL語句、格式化SQL語句、生成SQL語句?JavaSQL
- SQL語句SQL
- JAVA基礎--Switch case語句Java
- MySQL基礎之DML語句MySql
- 【Python基礎】for迴圈語句Python
- Java基礎 迴圈語句 for while do.....while語句JavaWhile
- 【SQL】9 SQL INSERT INTO 語句SQL
- 【SQL】10 SQL UPDATE 語句SQL
- 【SQL】11 SQL DELETE 語句SQLdelete
- sql常用語句SQL
- SQL SELECT 語句SQL
- Go 基礎教程--5 控制語句Go
- Python基礎-While迴圈語句PythonWhile
- 入門MySQL——基礎語句篇MySql
- Java基礎 - 流程控制語句Java
- python基礎語句小練習Python
- SQL語言基礎(函式)SQL函式
- T-SQL——基礎語法SQL
- 01 | 基礎架構:一條SQL查詢語句是如何執行的?架構SQL
- 1.3. SQL 語句SQL
- Oracle基本SQL語句OracleSQL
- Sql語句小整理SQL
- SQL語句優化SQL優化
- SQL 語句學習SQL
- SQL語句IN的用法SQL
- java基礎筆記 -- 6.選擇結構-if語句-switch語句Java筆記
- SQL語言基礎(資料控制語言)SQL
- SQL語言基礎(多表連線)SQL