一、條件簡介
瞭解條件的一般形式
最普通的條件如下形式:
gyj@OCM> Select * from t1 where name='gyj2';
ID NAME SALARY
---------- ---------- ----------
2 gyj2 8000
條件只能跟在WHERE之後,用來限制輸出的行。通常條件的形式是“列名 比較子 值”的形式。上面例子中,比較子就是“=”,也就是尋找NAME等於’gyj2’的行。
二、比較子
1、運算子形式的比較符號(PPT)
運算子 含義
= 等於
> 大於
>= 大於等於
< 小於
<= 小於等於
<> ,!= ,^= 不等於
瞭解各種比較子的意義,這一塊比較簡單,我就不多說了。
2、非運算子形式的比較符號
瞭解BETWEEN、IN、LIKE、IS NULL 、EXIST的使用,並瞭解萬用字元在LIKE中的使用
(1)列名 [NOT] BETWEEN …… AND …… :在兩數之間(並且包括這兩個數)
gyj@OCM> select * from t1 where id between 4 and 6;
ID NAME SALARY
---------- ---------- ----------
4 gyj4 15000
5 gyj5 12000
6 gyj6 12000
顯示僱員編號在4和6之間的。在BETWEEN前加上NOT,意義正好相反,表示在兩數之外:
gyj@OCM> select * from t1 where id not between 4 and 6;
ID NAME SALARY
---------- ---------- ----------
2 gyj2 8000
3 gyj3 10000
7 gyj7 12000
1 gyj1 12000
1 gyj1 20000
(2)列名 [NOT] IN (值1,值2,……) : 列值等於值1或等於值2或值3,等等。
gyj@OCM> select * from t1 where id in (5,6,7);
ID NAME SALARY
---------- ---------- ----------
5 gyj5 12000
7 gyj7 12000
6 gyj6 12000
顯示僱員編號等於5,6,7的,如果我們在IN前面加上NOT,顯示的結果是id不等於5或6或7的行。
gyj@OCM> select * from t1 where id not in (5,6,7);
gyj@OCM> select * from t1 where id not in (5,6,7);
ID NAME SALARY
---------- ---------- ----------
2 gyj2 8000
3 gyj3 10000
4 gyj4 15000
1 gyj1 12000
1 gyj1 20000
(3)字元型列LIKE ‘字串’ :字串匹配運算子。
gyj@OCM> select * from t1 where name like 'gyj2';
ID NAME SALARY
---------- ---------- ----------
2 gyj2 8000
看它的效果,它有點類似於“=”。但是它的功能比等號強。因為它可以使用如下萬用字元:
_ : 對應任意的一個字元。
% : 對應任意長度的任一字元。
其中%的任意長度可以是從0到任意長度。而_對應的字元,必需是一個。
gyj@OCM> select * from t1 where name like '_o%';
ID NAME SALARY
---------- ---------- ----------
9 Joe 22000
10 Tom 28000