過濾數(shù)據(jù) Filtering
優(yōu)點
- 減少檢索到的項目泵三,加速運行速度喘帚;
- 減輕客戶端壓力矾踱;
使用Where語句實現(xiàn)户辱,WHERE ColName operator value;
operator 用<>表示不等于,BETWEEN 以及 IS NULL
In Operator
IN (9, 10, 12);
Or Operator
與 IN 的功能相同糙臼,但是使用 IN 可以
- 有更長的列表庐镐,寫法更加簡潔;
- IN 執(zhí)行速度更快变逃;
- 可以嵌套另一個SELECT必逆;
如果是常量值,IN會sort列表然后使用二分搜索揽乱,但是OR是一個一個地對比
WildCards
對于string 值和 text 數(shù)據(jù)特別有用名眉,一個 wildcard 是一個用以匹配值的特殊字符。
一般會跟著LIKE一起使用
wildcard | 用法 |
---|---|
%pizza | 以pizza結(jié)尾的字符串 |
piza% | 以pizza開頭的字符串 |
_ underscore 表示一個單獨的字符
MS Access 使用 asterisk () 而不是 the percent sign (%), and a question mark (?) 而不是 the underscore (_).*
Bracket [] 用法
不適用于DBMS凰棉,SQLite
使用 wildcard 的壞處
運行時間更長
ORDER BY
- 可以接受多個列损拢,可以用數(shù)字表示第幾列
- 使用多個列的時候應(yīng)該用逗號隔開
- 可以使用沒有被SELECT的列
- 必須是最后的語句
還可以用 ASC 和 DESC
函數(shù)
AVG COUNT MIN MAX SUM
例如:
SELECT AVG(point) AS AvgPoint FROM data;
DISTINCT
不計算重復(fù)的元素撒犀;
不能與COUNT(*)一起使用
GROUP BY
意思是以某個東西為分組
可以包含多個列
NULL也會被分組進去
WHERE 在數(shù)據(jù)分組前起作用福压,HAVING 在分組之后起作用