資料庫學習筆記(二)
阿新 • • 發佈:2019-01-07
一,使用where選擇限定的資料行
操作符 | 含義 |
= | 等於 |
> | 大於 |
>= | 大於或等於 |
< | 小於 |
<= | 小於或等於 |
<> | 不等於 |
-
select
ename,job,deptno
-
from emp
-
where deptno =
20;
-
-
/*比較日期型資料*/
-
select ename,job
-
from emp
-
where hiredate >
'01-1月-85';
二,特殊比較運算子
(1)between...and... : 判斷要比較的值是否在某個範圍內
-
select ename,sal
-
from emp
-
where sal
between
1000
and
1500;
(2)in(集合列表) : 判斷要比較的值是否和集合列表中的任何一個值相等
-
select empno,ename,sal,mgr
-
from emp
-
where mgr
in (
7902,
7566,
7788);
(3)like : 判斷要比較的值是否滿足部分匹配,也叫模糊查詢
模糊查詢中的兩個萬用字元:%代表零個或者任意更多的字元;下劃線(_)代表一個字元
-
select ename
-
from emp
-
where ename
like
'S%'
(4)is null : 判斷要比較的值是否為空值null
-
select ename,mgr
-
from emp
-
where mgr
is
null
三,邏輯運算子
(1)and:邏輯與,用來連線多個條件表示式,每個條件表示式的結果為true,整個結果采薇true
(2)or : 邏輯或,連線多個條件表示式,只要有一個為true,整個結果就是true
(3)not : 邏輯非,用來對條件表示式取反
-
select ename,job
-
from emp
-
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)查詢結果按照日期降序排列
-
select ename,job,deptno
-
from emp
-
order
by hiredate
desc
(2)多列參與排序
-
select ename,job,sal
-
from emp
-
order
by deptno,sal
desc
order by 子句中可以寫沒有在select列表中出現的列,列名也可以使用數字代替,這個數字是select語句後面列的順序號