SELECT [DISTINCT] {*|列名|表達式 [列別名] [,...]}FROM 表名[WHERE 條件表達式]條件表達式通常格式為:列名 比較操作符 要比較的值比較操作符
操作符 | 含義 |
---|---|
= | 等于 |
> | 大于 |
>= | 大于或等于 |
< | 小于 |
<= | 小于或等于 |
<> | 不等于 |
SELECT ename,job,deptnoFROM empWHERE deptno=20比較字符型數據
SELECT ename,job,deptnoFROM empWHERE job='CLERK'字符型數值作為被比較的值時,必須用單引號引起來字符型數值區分大小寫比較日期型數據
SELECT ename,hiredate,deptnoFROM empWHERE hiredate>'01-1月-85'日期型數據作為被比較的值時,必須用單引號引起來字符型數值是區分日期表達形式的,默認的日期形式是DD-MON-RR特殊比較運算符
BETWEEN…AND…運算符
判斷要比較的值是否在某個范圍內SELECT ename,salFROM empWHERE sal BETWEEN 1000 AND 1500IN(集合列表)運算符
判斷要比較的值是否和集合列表中的任何一個值相等SELECT empno,ename,sal,mgrFROM empWHERE mgr IN (7902,7566,7788)LIKE運算符
判斷要比較的值是否滿足部分匹配,也叫模糊查詢,需要使用通配符在字符串內查找指定的模式SELECT enameFROM empWHERE ename LIKE '_L%'%:模糊查詢的通配符,代表任意數量的字符_:模糊查詢的通配符,代表一個字符可以使用ESCAPE標識符實現對“%”和“_”的查找--查詢JOB以“MAN_”開頭的雇員信息SELECT ename,jobFROM empWHERE job LIKE 'MAN@_%' ESCAPE '@'IS NULL運算符
判斷要比較的值是否為空值NULL空值從技術上來說就是未知的、不確定的值,與空字符串不同,空字符串是長度為0的字符串因為空值代表的是未知的值,所以不能直接用“=”運算符判定兩個空值是否相等SELECT ename,mgrFROM empWHERE mgr IS NULL邏輯運算符
邏輯運算符
當需要和多個條件表達式進行比較時,需要使用邏輯運算符把多個表達式連接起來,邏輯表達式的結果未TRUE、FALSE、NULL邏輯與(AND)
連接多個條件表達式,如果每個條件表達式的結果都為TRUE,整個表達式的結果才為TRUE可以使用“AND”運算符加“比較運算符”來代替“BETWEEN...AND...”SELECT empno,ename,job,salFROM empWHERE sal>=1100AND job='CLERK'邏輯或(OR)
連接多個條件表達式,只要有一個條件表達式的結果為TRUE,整個表達式的結果就為TRUESELECT empno,ename,job,salFROM empWHERE sal>=1100OR job='CLERK'邏輯非(NOT)
對條件表達式取反,TRUE取反為FALSE,FALSE取反為TRUENOT運算符可以和特殊比較運算符一起使用NOT BETWEEN...AND...NOT INNOT LIKEIS NOT NULLSELECT ename,jobFROM empWHERE job NOT IN ('CLERK','MANAGER','ANALYST')運算符的優先級
括號“()”優先于其他操作符
優先級 | 運算分類 | 運算符舉例 |
---|---|---|
1 | 算術運算符 | +,-,*,/ |
2 | 連接運算符 | || |
3 | 比較運算符 | =,>=,>,<=,<,<> |
4 | 特殊比較運算符 | BETWEEN...AND...,IN,LIKE,IS NULL |
5 | 邏輯非 | NOT |
6 | 邏輯與 | AND |
7 | 邏輯或 | OR |
SELECT [DISTINCT] {*|列名|表達式 [列別名] [,...]}FROM 表名[WHERE 條件表達式][ORDER BY {列名|表達式|列別名|列序號} [ASC|DESC] [,...]]對結果集可以按照列名、列別名、表達式、結果集的列序號排序參與排序的多列都可以指定升序或者降序,并且第一個排序項是主要的排序依據,其次那些是次要的排序依據ORDER BY子句中可以寫沒在SELECT 列表中出現的列ASC:升序,默認值|DESC:降序ORDER BY子句必須寫在SELECT語句的最后排序規則
數字升序按照數字由小到大排列,降序反之日期升序按照日期由先到后排列,降序反之字母升序按照由A到Z排列,降序反之中文升序按照字典順序排列,降序反之空值在升序排列中排在最后,在降序排列中排在最開始
新聞熱點
疑難解答