oracle入門之第二章【限制性查詢和資料的排序】

來源:互聯網
上載者:User

一、如何限制所選擇的資料行

使用WHERE語句

WHERE 是關鍵字,其後跟限制條件。

、條件是由列名、字串、算術運算式、常量和比較子組成的。

例如:

SELECTempno,ename,sal

FROMemp

WHEREsal >= 500;

二、比較子

oracle提供了>、>=、<、<=、=、<>、!=6個常用的比較子。

oracle還提供了between and 、in、like3個比較常用的運算子。

三、如何使用BETWEEN ADN比較子

SELECT empno,ename,sal

FROM emp

WHERE sal BETWEEN 1500 AND 2900;

註:改運算子不僅可以用於數值型資料,而且還可以用於字元型和日期型資料但是後兩者必須要用單引號括起來。


也可以使用NOT BETWEEN AND

四、在SQL語句中使用字串和日期

SELECT empno,ename,job

FROM emp

WHERE JOB='salesman';//這時候查詢不到資料,因為salesman在資料庫中都是大寫的,所以需要改成全部大寫的。

SELECT empno,ename,job

FROM emp

WHERE JOB='SALESMAN';//這時候能查出資料。

五、使用IN比較子

SELECT empno,ename,sal,job

FROM emp

WHERE job IN('SALESMAN','CLERK','MANAGER');

IN也是SQL種一個很有用的比較子。IN用來測試默寫值是否在列表中出現。

也可以使用not in

六、使用LIKE比較子

SELECT empno,ename,sal,job

FROM emp

WHERE job LIKE 'SAL%';

、%代表0個或多個字元。

、__代表一個且只能是一個字元。

也可以查詢日期。

例如:

SELECT empno,hiredate

FROM emp

WHERE hiredate like '%81';//查詢在1981年僱傭的所有員工的清單

七、如何使用轉義操作符

當SQL語句中含有__和%時候,需要使用escape轉義

例如:

SELECT *

FROM emp

SHERE dname LIKE 'IT\_%' escape '\';

八、ORDER BY子句

1、ASC預設是從小到大。DESC是從大到小

2、可以對數字型、日期型、字元型資料進行排序。

3、預設時,數字型和日期型資料的順序為從小到大。字元型資料的順序是按ASCII碼的次序,即從A到Z。

注意:如果使用了ORDER  BY子句,一定是SQL語句的最後一個子句。

九、在ORDER   BY子句中使用列名或運算式

使用列名

SELECT empno AS "Employee Number",ename name,(500+sal)*12  "Annual Salary"

FROM emp;

ORDER BY "Annual  Salary"  DESC;

使用運算式

SELECT empno AS "Employee Number",ename name,(500+sal)*12  "Annual Salary"

FROM emp

ORDER BY (500+sal)*12 DESC;

十、在ORDER BY子句中使用列號

SELECT empno "Employee Number",ename name,(500+sal)*12 "Annual Salary"

FROM emp

ORDER BY 3 DESC;

十一、在ORDER BY子句中使用多列

可以再多列中排序,使用ORDER BY。

ORDER BY job,sal desc,//這裡的desc只能作用在sal上面,job是預設的。

十二、在ORDER  BY子句中使用在SELECT列表中沒有的列

SELECT ename,job,sal

FROM emp

ORDER BY empno;

注意:可以用,但是需要少用,避免歧義。

十三、擴充後的查詢語句的格式

SELECT *|[{[DISTINCT]  列表,。。。。。}]

FROM 表明

[WHERE 條件]

[ORDER BY  {列名|別名|運算式,.....}[ASC|DESC]];

其中,條件由列名、文字串、算術運算式、常量、比較子5部分組成。

需要注意的是,ORDER   BY 子句一定要放在SQL語句的最後。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.