1. 程式人生 > >資料庫學習筆記(二)

資料庫學習筆記(二)

一,使用where選擇限定的資料行

操作符 含義
= 等於
> 大於
>= 大於或等於
< 小於
<= 小於或等於
<> 不等於


   
  1. select
    ename,job,deptno
  2. from emp
  3. where deptno = 20

   
  1. /*比較日期型資料*/
  2. select ename,job
  3. from emp
  4. where hiredate > '01-1月-85'

二,特殊比較運算子

(1)between...and...       : 判斷要比較的值是否在某個範圍內


   
  1. select ename,sal
  2. from emp
  3. where sal between 1000 and 1500

(2)in(集合列表)   :  判斷要比較的值是否和集合列表中的任何一個值相等


   
  1. select empno,ename,sal,mgr
  2. from emp
  3. where mgr in ( 7902, 7566, 7788);

(3)like   : 判斷要比較的值是否滿足部分匹配,也叫模糊查詢

模糊查詢中的兩個萬用字元:%代表零個或者任意更多的字元;下劃線(_)代表一個字元


   
  1. select ename
  2. from emp
  3. where ename like 'S%'
(4)is null  : 判斷要比較的值是否為空值null

   
  1. select ename,mgr
  2. from emp
  3. where mgr is null

三,邏輯運算子

(1)and:邏輯與,用來連線多個條件表示式,每個條件表示式的結果為true,整個結果采薇true

(2)or : 邏輯或,連線多個條件表示式,只要有一個為true,整個結果就是true

(3)not : 邏輯非,用來對條件表示式取反


   
  1. select ename,job
  2. from emp
  3. where job not in ( 'CLERK', 'MANAGER', 'ANALYST')

邏輯非(not)運算子可以和between...and,like,is null(is not null)一起使用

(4)邏輯運算子的優先順序,括號( )的優先順序高於其他運算子,使用括號可以強制改變優先順序

優先順序 運算分類 運算子舉例
1 算數運算子 +,-,*,/
2 連線運算子 ||
3 比較運算子 =,<>,<,>
4 特殊比較運算子 between...and...,in,like,is null
5 邏輯非 not
6 邏輯與 and
7 邏輯或 or

四,order by子句

使用order by子句能對查詢結果集進行排序,其中ASC表示升序(預設值),DESC表示降序,order by 子句必須寫在select語句的最後

1,排序規則:

數字升序排列小值在前,大值在後;

日期升序排列較早的日期在前;

字母升序排列按照字母由小到大的順序排列,即由A——z排列;

空值在升序排列中排在最後,在降序排列中排在最前

SQL例子:

(1)查詢結果按照日期降序排列


   
  1. select ename,job,deptno
  2. from emp
  3. order by hiredate desc

(2)多列參與排序


   
  1. select ename,job,sal
  2. from emp
  3. order by deptno,sal desc

order by 子句中可以寫沒有在select列表中出現的列,列名也可以使用數字代替,這個數字是select語句後面列的順序號