9. 空值處理
數(shù)據(jù)庫(kù)中,一個(gè)列如果沒(méi)有指定值,那么值就為null,這個(gè)null和C#中的null不一樣,數(shù)據(jù)庫(kù)中的null表示“不知道”,而不是表示沒(méi)有
因此select null+1結(jié)果是null,因?yàn)椤安恢馈奔?的結(jié)果還是“不知道”。
SQL中使用is null、is not null來(lái)進(jìn)行空值判斷:
例:
SELECT * FROM T_Employee WHERE FNAME is null ;FNAME為空的值
SELECT * FROM T_Employee WHERE FNAME is not null ;fname不是空值
10. 多值匹配 使用關(guān)鍵字
要?jiǎng)h除多條記錄怎么辦?
例:Delete T_Employee where FId in (21,22)
例:SELECT * FROM T_Employee WHERE FAGE BETWEEN 23 AND 27
等價(jià)于:SELECT * FROM T_Employee WHERE FAGE>=23 AND FAGE <=27
11. 數(shù)據(jù)分組
按照年齡進(jìn)行分組統(tǒng)計(jì)各個(gè)年齡段的人數(shù):
SELECT FAge,Count(*) FROM T_Employee GROUP BY Fage
GROUP BY子句必須放到WHERE語(yǔ)句的之后
沒(méi)有出現(xiàn)在GROUP BY子句中的列是不能放到SELECT語(yǔ)句后的列名列表中的 (聚合函數(shù)中除外)
多條件查詢:多條件分組時(shí),將條件相加,看是否相等,如果相等,就為一組
例:select fage,ftest,count(*) from t_employee group by fage,ftest
Having語(yǔ)句(分組后查詢條件)
分組統(tǒng)計(jì)之后查詢條件不能用where 而要用having語(yǔ)句,Having要位于Group By之后
例:--進(jìn)年齡分組統(tǒng)計(jì),同時(shí)ftese數(shù)量等于的
select fage,count(fage) from t_employee group by fage having count(ftest) = 2
12. 限制結(jié)果集行數(shù) top
--查詢前行記錄
select top 3 * from T_Employee order by fsalary desc
--分頁(yè)查詢
select top 3 * from t_Employee where fnumber not in (
select top 3 fnumber from T_Employee order by fsalary desc
)order by fsalary desc
13. 去掉數(shù)據(jù)重復(fù) distinct
例:select distinct fdepartment from t_employee
--多個(gè)列時(shí)和group by 一樣,按照多個(gè)列組合值判斷是否重復(fù)
select distinct fdepartment,fsubcompany from t_employee
14. 聯(lián)合結(jié)果集 UNION
基本的原則:每個(gè)結(jié)果集必須有相同的列數(shù);每個(gè)結(jié)果集的列必須類型相容。
1. UNION合并兩個(gè)查詢結(jié)果集,并且將其中完全重復(fù)的數(shù)據(jù)行合并為一條
2. Union因?yàn)橐M(jìn)行重復(fù)值掃描,所以效率低,因此如果不是確定要合并重復(fù)行
那么就用UNION ALL
Union 和Union All 的區(qū)別
Union 合并重復(fù)項(xiàng),并且去掉重復(fù)項(xiàng)
Union All 合并重復(fù)項(xiàng),不去掉重復(fù)項(xiàng)
問(wèn)題:
在sql server 2008 中出現(xiàn)了“阻止保存要求重新創(chuàng)建表的更改”
解決辦法:工具->選項(xiàng)->-Designers>取消“阻止保存要求重新創(chuàng)建表的更改”
行號(hào)和自動(dòng)換行
工具—>選項(xiàng)—>文本編輯器—>純文本 右邊就有行號(hào)和文本編輯器
那些都是浮云,只有本領(lǐng)才是王道
本文導(dǎo)航
- 第1頁(yè): 首頁(yè)
- 第2頁(yè): 刪除和檢索
- 第3頁(yè): 函數(shù)
- 第4頁(yè): 數(shù)據(jù)排序和通配符過(guò)濾
- 第5頁(yè): 空值處理、多值匹配和數(shù)據(jù)分組等問(wèn)題