1. 程式人生 > 實用技巧 >四、運算子和基礎查詢

四、運算子和基礎查詢

1.操作符

* 比較操作符

=、 >、 <、 >=、 <=、 !=、 <> 不等於

* SQL操作符

between…and… 、 not between…and… 介於/不介於...與...之間

in 、 not in 包含/不包含列表

like 、 not like 模糊查詢(not like 不建議使用)

is null 、 is not null 是否為空

* 邏輯運算子

and 與

or 或

not 非

* 算術運算子
+ 、- 、*、 /

2. 分組函式 GROUP BY 重點

1)ORDER BY 子句

將查詢到的結果集按照某個指定的順序排列顯示出來。

可以按照多個欄位進行排序。預設為升序排列,如果需要降序排列則需在按照降序排列的欄位名後加上DESC關鍵字。

ORDER BY子句應該為選擇命令中的最後一個語句。

SELECT * FROM emp ORDER BY deptno,comm DESC;

  2)GROUP BY(分組函式)

  用於將查詢到的記錄按給定的組進行顯示或聚合運算。

select job,avg(sal) from emp group by job having avg(sal)>2500;

除了聚合函式,SELECT後出現的列表項一定要在GROUP BY後出現。

使用聚合函式不一定要加group by,group by 後不能接聚合函式。

例:按照部門編號分組查詢員工資訊。

SELECT ename FROM emp GROUP BY deptno,ename;

3) HAVING

HAVING子句用來指定GROUP BY子句的檢索條件。該子句位於GROUP BY子句後面。

有GROUP BY不一定有HAVING,但是如果有HAVING就必然有GROUP BY。

SELECT AVG(sal) FROM emp GROUP BY deptno HAVING AVG(sal)>2500;

4)聚合函式

聚合函式COUNT()的幾種用法及區別:

COUNT(*):返回表中的記錄數。

COUNT(欄位名):返回指定列的記錄不為空的記錄數。

COUNT(DISTINCT 欄位名):返回指定列的記錄不為空且不重複的記錄數。

COUNT(0)建立在主鍵上的,查詢不為空的記錄數。

幾種常用的聚合函式:

SUM():求和;

AVG():求平均數;

MAX():最大值;

MIN():最小值

要注意的是 SQL語句的執行順序

(5)select 列a , 聚合函式 (1) from 表 (2) where 過濾條件

(3) group by 列a (4) having 聚合函式過濾條件 (6) order by