Oracle的WHERE條件和排序

來源:互聯網
上載者:User

一、條件簡介
瞭解條件的一般形式
最普通的條件如下形式:

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.