文章出處

 1.一般操作符

(1)!= 不等于 

select empno,ename,job from scott.emp where job!='manager'

(2)^= 不等于 

select empno,ename,job from scott.emp where job^='manager'

(3)<>不等于 

select empno,ename,job from scott.emp where job<>'manager'

(4)<小于 

select sal from scott.emp where sal<1000

(5)>大于

select sal from scott.emp where sal>1000

(6)<=小于等于 

select sal from scott.emp where sal<=1000

(7)>=大于等于 

select sal from scott.emp where sal>=1000

(8)in 在列表 

select sal from scott.emp where sal in(1000,2000)

時間的查詢可以使用in 例如 

select * from student where time in (’06-3月-09’,’08-5月-09’);

(9)not in 不在列表 

select sal from scott.emp where sal not in(1000,2000)

(10)between...and 介于..與..間

select sal from scott.emp where sal between 1000 and 2000

(11)not between...and 不介于..與..之間

select sal from scott.emp where sal not between 1000 and 2000

(12)like 模式匹配 select ename from scott.emp where ename like 'M%' (%表示任意長度的長度串)

select ename from scott.emp where ename like 'M_' 

(_表示一個任意的字符)

(13)is null 是否為空 

select ename from scott.emp where ename is null

(14)is not null 不為空 

select ename from scott.emp where ename is not null

 

2.邏輯操作符

(1)or(或) 

select ename from scott.emp where ename='joke' or ename='jacky'

(2)and(與) 

select ename from scott.emp where ename='and' or ename='jacky'

(3)not(非) 

select ename from scott.emp where not ename='and' or ename='jacky'


3.集合操作符

(1)union(并集) union連接兩句sql語句, 兩句sql語句的和 去掉重復的記錄。

(select deptno from scott.emp) union (select deptno from scott.dept)

(2)union all(并集) 接兩句sql語句,兩句sql語句的和不用去掉重復的記錄。

(select deptno from scott.emp) union all (select deptno from scott.dept)

(3)intersect (交集) Intersect連接兩句sql語句 取查詢出來的兩個集合的 共同部分。

(select deptno from scott.emp) intersect (select deptno from scott.dept)

(4)minus (補集) Minus 連接兩句sql 語句,取查詢出來的兩個集合的差。

(select deptno from scott.emp) minus (select deptno from scott.dept)

 

4.連接操作符

(1)(||) 用來連接連個字段,或者將多個字符串連接起來。

操作符的優先級別:算術》連接》比較》邏輯(not and or)

 

5.Oracle 數據類型

(1)字符類型:(varchar varchar2 long)
  Varchar:長度不可變,最大2000個字節
  Varchar2:長度可變,最大4000個字節
  Long:長度可變 最大2G

(2)數值類型:

  oracle中對int double float進行整合成 number類型。Number[p,s]:p表示精度,s表示小數位數。

(3)日期類型:(date)(timestamp)

  Date類型存儲日期類型,包括 年月日時分秒。

  Timestamp類型存儲日期類型,包括更加精確的信息,包括地區信息,年月日時分秒。毫 秒……。

  DATE數據類型的主要問題是它粒度不能足夠區別出兩個事件哪個先發生。

  ORACLE已經在DATE數據類型上擴展出來了TIMESTAMP數據類型,它包括了所有DATE數據類型的年月日時分秒的信息,而且包括了小數秒的信息。

  如果你想把DATE類型轉換成TIMESTAMP類型,就使用CAST函數。 

  eg. SQL> SELECT CAST(date1 AS TIMESTAMP) "Date" FROM t;

(4)Raw類型:存儲二進制數據

(5)Longraw類型:存儲可變長度的二進制數據。最大可以為2G。

 

6.Oracle 偽列(rowid)(rownum)

偽列是向數據表中插入數據時系統會自動向每條數據添加兩列數據字段。

(1)Rowid 每條記錄的實際存儲地址,即使記錄重復這個字段也不會出現重復。

(2)Rownum是 查詢出數據后為每條記錄添加的字段,他并不是真是存在,而是相當于視圖一樣查詢出來后自動添加的一個行號。當運行select rowed,rownum from 表名;就可以查看這幾數據。

 

7.Oracle sql語句

Sql語句是通用的數據庫語言

Sql命令包括 (DDL)(DCL)(DML)(TCL)

(1)DDL:數據定義語言 包括 Create語句,drop語句,alter語句。

(2)DCL: 數據控制語言 包括 grant語句。 Revoke語句

(3)DML:數據控制語言 包括 增,刪,改,查語句。

(4)TCL:事物控制語言 包括 commit,rollback,savepoint

 

8.Oracle Sql函數

Sql函數包括:(單行函數)(分組函數)(分析函數)

(1)單行函數:

  對于從表中查詢出來的每條記錄只顯示一個數據。單行函數可以出現在select子句中,where子句中。單行函數包括:(字符函數)(數字函數)(日期函數)(轉換函數)(其他函數)。

(2)日期函數:對日期進行計算 顯示日期類型或者數字類型。

  SYSDATE 當前日期和時間

  current_date 返回當前會話時區中的當前日期

  current_timestamp 以timestamp with time zone數據類型返回當前會話時區中的當前日期

  dbtimezone 返回時區

  ADD_MONTHS 加上月數

  MONTHS_BETWEEN 返回兩個日期之間月數

  LAST_DAY 返回月的最后一天

  ROUND 將月數四舍五入

  NEXT_DAY 指定下一個星期幾的日期

  TRUNC 日期的格式轉換

  EXTRACT 提起日期中指定的部分

(3)字符函數:

  Initcap(char) 大寫首字母。

  Lower(char) 將大寫字符變成小寫。

  詳見:http://blog.sina.com.cn/s/blog_4b3c1f950100pkhv.html

(4)數字函數

  Mod(m,n) m/n 的余數。

  Power(m,n) m的n次方。

  Round(m,n) m是小數,n是取的小數位數。四舍五入

  Trunc(m,n) m是小數,n是取的小數位數。不四舍五入

(5)轉換函數

  To_char 轉化字符。

  To_date 轉換日期。

  To_number 轉換數字

  詳見:http://blog.sina.com.cn/s/blog_4b3c1f950100pk54.html

(6)其他函數

  NVL(表達式1,表達式2)

  如果表達式1為null,返回表達式2,否則返回表達式1;

  如果表達式類型不一致,Oracle將表達式2轉換為表達式1的類型

  NVL2(表達式1,表達式2,表達式3)

  如果表達式1為空,返回表達式3的值,否則返回表達式2的值

  NULLIF(表達式1,表達式2)

  如果兩表達式相等,返回空值,否則返回表達式1

(7)聚合函數

  Avg ()取平均數。

  Count ()返回查詢出來的數據。

  Sum ()取和

  Max ()取最大值

  Min ()取最小值

  Group 和 having

  SELECT p_category, MAX(itemrate) FROM itemfile GROUP BY p_category;

  SELECT p_category, MAX(itemrate) FROM itemfile GROUP BY p_category

  HAVING p_category NOT IN ('accessories');


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


全站熱搜
創作者介紹
創作者 大師兄 的頭像
大師兄

IT工程師數位筆記本

大師兄 發表在 痞客邦 留言(0) 人氣()