程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> 0005 《SQL必知必會》筆記01-SELECT語句,select語句舉例

0005 《SQL必知必會》筆記01-SELECT語句,select語句舉例

編輯:Oracle教程

0005 《SQL必知必會》筆記01-SELECT語句,select語句舉例


1、SELECT基本語句:

SELECT 字段名1,···,字段名n FROM 表名

2、檢索所有字段,用"*"替換字段名,這會導致效率低下

SELECT * FROM 表名;

3、去除重復項,“DISTINCT”作用於所有字段

SELECT DISTINCT 字段名1,···,字段名n FROM 表名;

4、若檢索結果過多,可限定結果的條數

SELECT 字段名 FROM 表名 WHERE ROWNUM<=n;

5、對檢索出的數據進行排序,ASC為升序,也為默認排序方式;DESC為降序。ORDER BY 語句一定是最後一條語句。如果不排序,那麼不能認為檢索出的數據的順序有任何意義

SELECT 字段名 FROM 表名 ORDER BY 字段名1 ASC|DESC,```,字段名n ASC|DESC;

6、WHERE 子句,操作符如下,語法都為:WHERE 字段名 操作符 值;注意Oracle至少默認不支持“!<”和“!>”

操作符 說明 操作符 說明 = 等於     != 不等於 <> 不等於 < 小於 > 大於 <= 小於等於 >= 大於等於 BETWEEN AND 雙側閉區間 IS NULL 空值

7、WHERE子句的多條件過濾——AND,多個子條件同時滿足

WHERE 子條件1 AND ··· AND 子條件n

8、WHERE 子句的多條件過濾——OR,滿足任意一個條件

WHERE 子條件1 OR ···OR 子條件n

9、WHERE子句——IN操作符,滿足IN的任意個值,與OR類似,但有如下優點:語法更清楚直觀;更易管理求值順序;比一組OR執行快;可以包含其他SELECT語句,能動態建立WHERE子句。

WHERE 字段名 IN(值1,···,值n)

10、NOT操作符:否定其後面的條件。在復雜語句中,NOT非常有用

WHERE NOT 條件;

11、AND的求值優先級高於OR,可以用"()"改變優先級

12、模糊匹配Like操作符,通配符——“%”,匹配0~n個字符;“_”,匹配一個字符。特別注意:Oracle會用空格來補全字段,最好是用TRIM()、RTRIM()、LTRIM()去掉空格

WHERE 字段名 LIKE ‘帶%的字符串’

13、《SQL必知必會》降到了“[]”通配符,但是Oracle貌似不支持,或者說默認不支持,待學到後面確定了再改這條。

14、關於通配符:(1)不要過度使用通配符,(2)通配符不要放在開始處,會非常慢,(3)注意通配符的位置,放錯地方,可能會返回意外的數據

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved