Oracle限制數據以及對數據排序

限制數據和對數據排序

限制數據和對數據的排序是數據庫操作中非常常用的。對於這塊內容需要達到如下目標:

  • 理解限制數據和排序數據的作用;
  • 掌握不同類型的數據的比較方法;
  • 掌握where和order by的使用;
  • 掌握特殊比較運算符的含義及用法;
  • 掌握邏輯運算符的含義及用法;

where語句

限制數據的其中一部分是限定數據行,就是爲查詢語句添加條件語句-where語句通過使用where字句可以返回限定的數據行,語法格式如下:

SELECT[distinct]{*|column | expression[alias],…}
FROM table
[WHERE condition(s)];

condiction:表示條件表達式。
eg.select name,age from table where age > 50;查詢年齡(age)大於50的信息。

特殊比較運算符

運算符 含義 例句
BETWEEN…AND.. 判斷要比較的值是否在某個範圍中 select * from table where age between 59 and 70;(查詢年齡的範圍在59到70的數據)
IN(集合列表) 判斷要比較的值是否和集合列表中的任何一個值相等 select * from table where age in(59,70);(查詢年齡爲59或70的數據)
LIKE 判斷要比較的值是否滿足部分匹配。 select name from table where name like ‘J%’;(查詢姓名第一個字母’J’的數據)
IS NULL 判斷要比較了值是否爲空值NULL select name,salary from table where salary is null;(查詢工資爲空的數據)

邏輯運算符

前面已經學習瞭如何書寫一個表達式,但如果需要查詢的條件是:查詢年齡大於50,並且工資不低於的6000的信息。像這樣兩個或多個限制數據的條件就需要使用邏輯運算符連接。具體連接符如下:

運算符 含義 例句
AND 邏輯與,用來連接多個條件表達式。如果每個條件表 達式的結果都爲TRUE,整個表達式的結果才爲TRUE。 select * from table where age > 50 and salary >=6000;(查詢年齡大於50,並且工資不低於的6000的信息。)
OR 邏輯或,用來連接多個條件表達式。只要有1個條件表 達式的結果爲TRUE,整個表達式的結果就爲TRUE select * from table where age > 50 or salary >=6000;(查詢年齡大於50,或者工資不低於的6000的信息。)
NOT 邏輯非,用來對條件表達式取反。TRUE取反爲FALSE ,FALSE取反爲TRUE。 select * from table where NOT name like ‘J%’;(查詢姓名不是以‘J’開頭的信息)

運算符的優先級

學習了各種運算符,那麼他們的優先級又如何呢。需要提出的是括號‘()’優先級高於其他操作符。其餘的如下表:

優先級 運算分類 運算符舉例
1 算術運算符 *,/,+,-
2 連接運算符 ||
3 比較運算符 ==,<>,<,>,<=,>=
4 特殊比較運算符 BETWEEN…AND..,IN,LIKE,IS NULL
5 邏輯非 NOT
6 邏輯與 AND
7 邏輯或 OR

ORDER BY字句

ORDER BY是對查詢的結果進行升降排序。語法如下:

SELECT [DISTINCT] {* | 列名 | 表達式[別名]…}
FROM 表名
[WHERE 條件]
[[ORDER BY {列名|表達式|列別名|列序號} [ASC|DESC],…]]
其中: –可以按照列名、表達式、列別名、結果集的列序號排序 –ASC: 升序,默認值DESC: 降序 –ORDER BY 子句必須寫在SELECT語句的最後。
eg.select * from table order by age;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章