第一部分關(guān)系數(shù)據(jù)庫和SQL
第1章什么是關(guān)系 1.1數(shù)據(jù)庫的類型 1.2關(guān)系模型簡史 1.2.1源起 1.2.2關(guān)系數(shù)據(jù)庫軟件 1.3剖析關(guān)系數(shù)據(jù)庫 1.3.1表 1.3.2字段 1.3.3記錄 1.3.4鍵 lI3.5視圖 1.3.6關(guān)系 1.4我們將學(xué)到什么 1.5從這里走向何處 1.6小結(jié) 第2章確保數(shù)據(jù)庫結(jié)構(gòu)的健全 2.1為什么會(huì)有本章 2.2為什么要關(guān)心全面的結(jié)構(gòu) 2.3字段調(diào)優(yōu) 2.3.1名字中包含什么(第一部分) 2.3.2消除毛邊 2.3.3解析多部分字段 2.3.4解析多值字段 2.4調(diào)優(yōu)表 2.4.1名字中包含什么(第二部分) 2.4.2確保合理的結(jié)構(gòu) 2.4.3解析非必要的重復(fù)字段 2.4.4鍵的標(biāo)識(shí) 2.5建立牢固的關(guān)系 2.5.1建立一個(gè)刪除規(guī)則 2.5.2設(shè)置參與類型 2.5.3設(shè)置參與程度 2.6就這些嗎 2.7小結(jié) 第3章SQL簡史 3.1SQI。的起源 3.2早期廠商實(shí)現(xiàn) 3.3隨后有了標(biāo)準(zhǔn) 3.4.ANSI/ISO標(biāo)準(zhǔn)的演化 3.5其他SQI。標(biāo)準(zhǔn) 3.6商業(yè)實(shí)現(xiàn) 3.7未來會(huì)怎樣 3.8為什么應(yīng)該學(xué)習(xí)SQL 3.9小結(jié) 第二部分SQL基礎(chǔ) 第4章創(chuàng)建簡單查詢 4.1SELECT簡介 4.2SELECT語句 4.3一點(diǎn)題外話:數(shù)據(jù)與信息 4.4把請求翻譯為SQL 4.4.1擴(kuò)展可見的字段 4.4.2使用快捷方式請求所有的列 4.5刪除重復(fù)的行 4.6排序信息 4.6.1要事第一:排序序列 4.6.2現(xiàn)在來排序 4.7保存你的工作 4.8示例語句 4.9小結(jié) 4.10練習(xí)題 第5章獲取列以外的信息 5.1什么是表達(dá)式 5.2要表示何種類型的數(shù)據(jù) 5.3改變數(shù)據(jù)類型:CAST函數(shù) 5.4指定顯式的值 5.4.1字符串直接量 5.4.2數(shù)值直接量 5.4.3日期時(shí)間直接量 5.5表達(dá)式類型 5.5.1連接 5.5.2數(shù)學(xué)表達(dá)式 5.5.3日期和時(shí)間算術(shù) 5.6在一條SELECT子句中使用表達(dá)式 5.6.1使用連接表達(dá)式 5.6.2命名表達(dá)式 5.6.3使用一個(gè)數(shù)學(xué)表達(dá)式 5.6.4使用日期表達(dá)式 5.6.5短暫離題:值表達(dá)式 5.7“沒有內(nèi)容”的值:Null 5.7.1Null簡介 5.7.2.Null的問題 5.8示例語句 5.9小結(jié) 5.10練習(xí)題 第6章過濾數(shù)據(jù) 6.1使用WHERE來精煉你所看到的 東西 6.1.1WHERE子句 6.1.2使用WHERE子句 6.2定義查找條件 6.2.1比較 6.2.2范圍 6.2.3集合成員 6.2.4模式匹配 6.2.5Null 6.2.6排除帶有NOT的行 6.3使用多個(gè)條件 6.3.1AND和OR簡介 6.3.2排除行:老話重提 6.3.3優(yōu)先級順序 6.3.4檢查重疊的范圍 6.4回顧Null:一個(gè)警告提示 6.5以不同的方式表達(dá)條件 6.6示例語句 6.7zJl、結(jié) 6.8練習(xí)題 第三部分多表操作 第7章用集合思考 7.1什么是集合 7.2集合上的操作 7.3交集 7.3.1集合論中的交集 7.3.2結(jié)果集之間的交集 7.3.3可以用交集解決的問題 7.4差集 7.4.1集合論中的差集 7.4.2結(jié)果集之間的差集 7.4.3使用差集解決的問題 7.5并集 ’7.5.1集合論中的并集 7.5.2使用并集來組合結(jié)果集 7.5.3使用并集解決的問題 7.6SQL集合操作 7.6.1經(jīng)典集合操作與SQL 7.6.2找出共同值:INTERSECT 7.6.3找出遺漏的值:EXCEPT (DIFFERENCE) 7.6.4組合集合:UNION 7.7小結(jié) 第8章INNERJOIN 8.1什么是JOIN 8.2INNERJOIN 8.2.1什么是“合法的”JOIN 8.2.2列引用 8.2.3語法 8.2.4檢查那些關(guān)系 8.3INNERJOIN的用法 8.3.1查找相關(guān)的行 8.3.2查找匹配的值 8.4示例語句 8.4.1兩個(gè)表 8.4.2兩個(gè)以上的表 8.4.3查找匹配值 8.5小結(jié) 8.6練習(xí)題 第9章OU'IERJ0IN 9.1什么是OUTERJOIN 9.2LEFI’OUTERJOIN和RIGHT OUTERJOIN 9.3FUI工OUTERJOIN 9.3.1語法 9.3.2在非鍵值上的FUI上 OUTERJOIN 9.3.3UNIONJOIN 9.4OUTERJOIN的用法 9.4.1找出遺漏的值 9.4.2找出部分匹配的信息 9.5示例語句 9.6tJl、結(jié) 9.7練習(xí)題 第10章UNION 10.1什么是UNION 10.2編寫帶有UNION的請求 10.2.1使用簡單的SELECT語句 10.2.2組合復(fù)雜的SELECT語句 10.2.3多次使用UNION 10.2.4排序一個(gè)UNION 10.3UNION的用法 10.4示例語句 10.5小結(jié) 10.6練習(xí)題 第11章子查詢 11.1什么是子查詢 11.1.1行子查詢 11.1.2表子查詢 11.1.3標(biāo)量子查詢 11.2用作列表達(dá)式的子查詢 11.2.1語法 11.2.2初探聚合函數(shù):COUNT和 MAX 11.3作為過濾器的子查詢 11.3.1語法 11.3.2用于子查詢的特定謂詞關(guān)鍵字 11.4子查詢的用法 11.4.1構(gòu)建子查詢作為列表達(dá)式 11.4.2用作過濾器的子查詢 11.5示例語句 11.5.1表達(dá)式中的子查詢 11.5.2過濾器中的子查詢 11.6小結(jié) 11.7練習(xí)題 第四部分匯總和分組數(shù)據(jù) 第12章簡單匯總 12.1聚合函數(shù) 12.1.1用COUNT統(tǒng)計(jì)行和值 12.1.2用SUM求和 12.1.3使用AVG計(jì)算平均值 12.1.4使用MAX求最大值 12.1.5使用MIN求最小值 12.1.6使用多個(gè)函數(shù) 12.2在過濾器中使用聚合函數(shù) 12.3示例語句 12.4小結(jié) 12.5練習(xí)題 第13章分組數(shù)據(jù) 13.1為什么分組數(shù)據(jù) 13.2GROUP BY子句 13.2.1語法_ 13.2.2混合列和表達(dá)式 13.2.3在WHERE子句中的子查詢中 使用GROUPBY 13.2.4模擬一條SELECTDISTINCT 語句 13.3一些適用的限制 13.3.1列限制 13.3.2根據(jù)表達(dá)式分組 13.4GROUPBY的用法 13.5示例語句 13.6小結(jié) 13.7練習(xí)題 第14章過濾分組的數(shù)據(jù) 14.1“聚焦分組”的一種新含意 14.2過濾器何時(shí)起作用 14.2.1應(yīng)該把過濾器放在WHERE中 還是HAVING中 14.2.2避免。HAVINGCOUNT陷阱 14.3HAVING的用法 14.4示例語句 14.5小結(jié) 14.6練習(xí)題 第五部分修改數(shù)據(jù)集 第15章更新數(shù)據(jù)集合 15.1什么是UPDATE 15.2UPDATE語句 15.2.1使用一個(gè)簡單的UPDATE 表達(dá)式 15.2.2短暫離題:事務(wù) 15.2.3更新多列 15.2.4使用子查詢來過濾行 15.2.5使用一個(gè)子查詢UPDATE 表達(dá)式 15.3UPDATE的用法 15.4示例語句 15.5小結(jié) 15.6練習(xí)題 第16章插入數(shù)據(jù)集 16.1什么是INSERT 16.2INSERT語句 16.2.1插入值 16.2.2產(chǎn)生下一個(gè)主鍵值 16.2.3使用SELECT插入數(shù)據(jù) 16.3INSERT的用法 16.4示例語句 16.5小結(jié) 16.6練習(xí)題 第17章刪除數(shù)據(jù)集 17.1什么是DELETE 17.2DELETE語句 17.2.1刪除所有的行 17.2.2刪除某些行 17.3DELETE的用法 17.4示例語句 17.5小結(jié) 17.6練習(xí)題 結(jié)束語 |
|