欧美精品一二区,性欧美一级,国产免费一区成人漫画,草久久久久,欧美性猛交ⅹxxx乱大交免费,欧美精品另类,香蕉视频免费播放

《數(shù)據(jù)庫語言SQL》PPT課件

上傳人:san****019 文檔編號(hào):22424942 上傳時(shí)間:2021-05-25 格式:PPT 頁數(shù):97 大?。?69.31KB
收藏 版權(quán)申訴 舉報(bào) 下載
《數(shù)據(jù)庫語言SQL》PPT課件_第1頁
第1頁 / 共97頁
《數(shù)據(jù)庫語言SQL》PPT課件_第2頁
第2頁 / 共97頁
《數(shù)據(jù)庫語言SQL》PPT課件_第3頁
第3頁 / 共97頁

下載文檔到電腦,查找使用更方便

14.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《數(shù)據(jù)庫語言SQL》PPT課件》由會(huì)員分享,可在線閱讀,更多相關(guān)《《數(shù)據(jù)庫語言SQL》PPT課件(97頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、第 三 章 數(shù) 據(jù) 庫 語 言 SQL 概 述 SQL的 發(fā) 展1974年 , 由 Boyce和 Chamberlin提 出19751979, IBM San Jose Research Lab的關(guān) 系 數(shù) 據(jù) 庫 管 理 系 統(tǒng) 原 型 System R實(shí) 施 了這 種 語 言SQL-86是 第 一 個(gè) SQL標(biāo) 準(zhǔn)SQL-89、 SQL-92(SQL2)、 SQL-99(SQL3) 概 述 現(xiàn) 狀大 部 分 DBMS產(chǎn) 品 都 支 持 SQL, 成 為 操 作數(shù) 據(jù) 庫 的 標(biāo) 準(zhǔn) 語 言有 方 言 , 支 持 程 度 不 同 數(shù) 據(jù) 定 義 ( DDL)定 義 、 刪 除 、 修 改 關(guān)

2、 系 模 式 ( 基 本 表 )定 義 、 刪 除 視 圖 ( View)定 義 、 刪 除 索 引 ( Index) 數(shù) 據(jù) 操 縱 ( DML)數(shù) 據(jù) 查 詢數(shù) 據(jù) 增 、 刪 、 改 數(shù) 據(jù) 控 制 ( DCL)用 戶 訪 問 權(quán) 限 的 授 予 、 收 回概 述 SQL的 功 能 交 互 式 SQL一 般 DBMS都 提 供 聯(lián) 機(jī) 交 互 工 具用 戶 可 直 接 鍵 入 SQL命 令 對(duì) 數(shù) 據(jù) 庫 進(jìn) 行 操 作由 DBMS來 進(jìn) 行 解 釋概 述 SQL的 形 式 嵌 入 式 SQL能 將 SQL語 句 嵌 入 到 高 級(jí) 語 言 ( 宿 主 語 言 )使 應(yīng) 用 程 序 充

3、分 利 用 SQL訪 問 數(shù) 據(jù) 庫 的 能 力 、宿 主 語 言 的 過 程 處 理 能 力一 般 需 要 預(yù) 編 譯 , 將 嵌 入 的 SQL語 句 轉(zhuǎn) 化 為宿 主 語 言 編 譯 器 能 處 理 的 語 句概 述 SQL的 形 式 數(shù) 據(jù) 定 義Create、 Drop、 Alter 數(shù) 據(jù) 操 縱數(shù) 據(jù) 查 詢 : Select數(shù) 據(jù) 修 改 : Insert、 Update、 Delete 數(shù) 據(jù) 控 制Grant、 Revoke概 述 SQL的 動(dòng) 詞 數(shù) 據(jù) 查 詢 是 數(shù) 據(jù) 庫 應(yīng) 用 的 核 心 功 能 基 本 結(jié) 構(gòu)Select A1, A2, ., AnFrom r

4、1, r2, ., rmWhere PA1, A2, ., An(p(r1 r1 . rm)數(shù) 據(jù) 查 詢Select Where From Select語 句 的 含 義 對(duì) From 子 句 中 的 各 關(guān) 系 , 作 笛 卡 兒積 ( ) 對(duì) Where 子 句 中 的 邏 輯 表 達(dá) 式 進(jìn) 行 選擇 ( ) 運(yùn) 算 , 找 出 符 合 條 件 的 元 組 根 據(jù) Select 子 句 中 的 屬 性 列 表 , 對(duì) 上述 結(jié) 果 作 投 影 ( ) 操 作 Select語 句 的 含 義 結(jié) 果 集查 詢 操 作 的 對(duì) 象 是 關(guān) 系 , 結(jié) 果 還 是 一 個(gè) 關(guān)系 , 是 一

5、個(gè) 結(jié) 果 集 , 是 一 個(gè) 動(dòng) 態(tài) 數(shù) 據(jù) 集 Select子 句 對(duì) 應(yīng) 于 關(guān) 系 代 數(shù) 的 投 影 ( ) 運(yùn) 算 , 用以 列 出 查 詢 結(jié) 果 集 中 的 期 望 屬 性 SQL具 有 包 的 特 性 Select 子 句 的 缺 省 情 況 是 保 留 重 復(fù) 元組 ( ALL ) , 可 用 Distinct 去 除 重復(fù) 元 組Select Distinct sdept From StudentSelect All sdept From Student 去 除 重 復(fù) 元 組 :費(fèi) 時(shí) 需 要 臨 時(shí) 表 的 支 持Select子 句 重 復(fù) 元 組 Select子 句

6、 *與 屬 性 列 表 星 號(hào) * 表 示 所 有 屬 性 星 號(hào) * : 按 關(guān) 系 模 式 中 屬 性 的 順 序 排 列 ,并 具 有 一 定 的 邏 輯 數(shù) 據(jù) 獨(dú) 立 性顯 式 列 出 屬 性 名 : 按 用 戶 順 序 排 列Select * From StudentSelect Student.*, cno, gradeFrom Student, SCWhere Student.sno = SC.sno Select子 句 更 名 為 結(jié) 果 集 中 的 某 個(gè) 屬 性 改 名 使 結(jié) 果 集 更 具 可 讀 性Select sno as stu_no, cno as cours

7、e_no, gradeFrom SCSelect sno, sname, 2001 - sage as birthdayFrom Student Where 子 句 where子 句 對(duì) 應(yīng) 與 關(guān) 系 代 數(shù) 中 的 選 擇 () 查 詢 滿 足 指 定 條 件 的 元 組 可 以 通 過 Where子句 來 實(shí) 現(xiàn) 使 where子 句 中 的 邏 輯 表 達(dá) 式 返 回 True值 的元 組 , 是 符 合 要 求 的 元 組 , 將 被 選 擇 出 來 Where 子 句 運(yùn) 算 符 比 較 : 、 、 =、 =、 、 not + 確 定 范 圍 :Between A and B、 N

8、ot Between A and B 確 定 集 合 : IN、 NOT IN 字 符 匹 配 : LIKE, NOT LIKE 空 值 : IS NULL、 IS NOT NULL 多 重 條 件 : AND、 OR、 NOT Where 子 句 Like 字 符 匹 配 : Like、 Not Like 通 配 符 % 匹 配 任 意 字 符 串 _ 匹 配 任 意 一 個(gè) 字 符 大 小 寫 敏 感 Where 子 句 Like例 : 列 出 姓 張 的 學(xué) 生 的 學(xué) 號(hào) 、 姓 名 。Select sno, snameFrom StudentWhere sname LIKE 張 %

9、Where 子 句 Like例 : 列 出 張 姓 且 單 名 的 學(xué) 生 的 學(xué) 號(hào) 、 姓 名 。Select sno, snameFrom StudentWhere sname LIKE 張 _ _ Where 子 句 轉(zhuǎn) 義 符 escape 例 : 列 出 課 程 名 稱 中 帶 有 _的 課 號(hào) 及 課名 。 Select cno, cnameFrom CourseWhere cname LIKE %_% escape From 子 句 From子 句 對(duì) 應(yīng) 與 關(guān) 系 代 數(shù) 中 的 笛 卡 兒 積( ) 列 出 將 被 掃 描 的 關(guān) 系 ( 表 )例 : 列 出 所 有 學(xué)

10、 生 的 學(xué) 號(hào) 、 姓 名 、 課 號(hào) 、 成 績(jī) 。Select Sudent.sno, sname, SC.cno, gradeFrom Student, SCWhere Student.sno = SC.sno From 子 句 元 組 變 量 為 From 子 句 中 的 關(guān) 系 定 義 元 組 變 量 方 便 關(guān) 系 名 的 引 用 在 同 一 關(guān) 系 的 笛 卡 兒 積 中 進(jìn) 行 辨 別例 : 列 出 與 95001同 歲 的 同 學(xué) 的 學(xué) 號(hào) ,姓 名 ,年 齡Select T.sno,T.sname,T.sageFrom Student as T,Student as S

11、Where S.sno = 95001 ANDT.sage = S.sage Order By子 句 指 定 結(jié) 果 集 中 元 組 的 排 列 次 序 耗 時(shí) ASC( 缺 省 ) 、 DESC、 未 選 中 的 屬 性 例 : 列 出 CS系 中 的 男 生 的 學(xué) 號(hào) 、 姓 名 、 年 齡 , 并 按年 齡 進(jìn) 行 排 列 ( 升 序 )Select sno, sname,sageFrom StudentWhere sdept = CSOrder By sage ASC SQL的 集 合 操 作 SQL的 結(jié) 果 集 是 “ 包 ” 多 個(gè) Select 語 句 的 結(jié) 果 可 以 進(jìn)

12、 行 集 合 操 作 ,使 結(jié) 果 為 “ 集 合 ” ( default) SQL-92支 持 參 加 集 合 操 作 的 關(guān) 系 ( 結(jié) 果 集 ) 必 須 是 相容 的 SQL的 集 合 操 作 相 容 屬 性 個(gè) 數(shù) 必 須 一 致 對(duì) 應(yīng) 的 類 型 必 須 一 致 屬 性 名 無 關(guān) 最 終 結(jié) 果 集 采 用 第 一 個(gè) 結(jié) 果 的 屬 性 名 缺 省 為 自 動(dòng) 去 除 重 復(fù) 元 組除 非 顯 式 說 明 ALL Order By放 在 整 個(gè) 語 句 的 最 后 SQL的 集 合 操 作 并 union( 并 , 對(duì) 應(yīng) 與 關(guān) 系 代 數(shù) 的 ) , 標(biāo) 準(zhǔn)SQL都 支

13、持 的 采 用 集 合 的 觀 點(diǎn) , 合 成 多 個(gè) 查 詢 的 結(jié) 果select - without - order by . UNION ALL select - without - order by . UNION ALL select - without - order by . ORDER BY integer ASC | DESC , . 例 : 查 詢 計(jì) 算 機(jī) 系 的 學(xué) 生 或 者 年 齡 不 大 于 19歲的 學(xué) 生 , 并 按 年 齡 倒 排 序 。SQL的 集 合 操 作 并 intersect( 交 , 對(duì) 應(yīng) 與 關(guān) 系 代 數(shù) 的 ) , 并 不是 所 有

14、的 DBMS都 支 持 例 : 查 詢 計(jì) 算 機(jī) 系 的 學(xué) 生 并 且 年 齡 不 大 于 19歲 的 學(xué) 生 , 并 按 年 齡 倒 排 序 。SQL的 集 合 操 作 交 except( 差 , 對(duì) 應(yīng) 與 關(guān) 系 代 數(shù) 的 ) , 并 不 是所 有 的 DBMS都 支 持 例 : 查 詢 計(jì) 算 機(jī) 系 的 男 生 。SQL的 集 合 操 作 差 數(shù) 據(jù) 定 義 語 言 ( Data Definition Language)Create、 Drop、 Alter定 義 一 組 關(guān) 系 ( 基 本 表 ) 、 說 明 各 關(guān) 系 的 信 息 各 關(guān) 系 的 模 式 各 屬 性 的 值

15、 域 完 整 性 約 束 索 引 安 全 性 和 權(quán) 限數(shù) 據(jù) 定 義 語 言 ( DDL) 字 符 型 char(n) 、 varchar(n) 數(shù) 值 型 integer、 smallint numeric(p,d) real、 double、 float(n) 日 期 /時(shí) 間 型 date timeDDLSQL中 的 域 類 型 域 定 義 語 句 ( SQL-92支 持 )需 重 復(fù) 使 用 的Create Domain stu_name varchar(20)Create Domain zip_code char(6)DDLSQL中 的 域 類 型 Create Table r (

16、A1D1, A2D2, , AnDn,)其 中 :r 關(guān) 系 名 ( 表 名 ) 、 Ai 關(guān) 系 r 的 一 個(gè) 屬 性 名Dn 屬 性 Ai域 值 的 域 類 型主 鍵 聲 明 : primary key (Aj1 , Aj2 , , Ajvm )DDLSQL的 模 式 定 義 Create Domain stu_name varchar(20)Create Table Student (sno char(10) primary key(sno) ,sname stu_name ,sage smallint,ssex char(1),sdept char(2)DDLSQL的 模 式 定 義

17、 Create Table Course (cno char(10) primary key (cno) ,cname varchar(20) ,credit smallint )Create Table SC (sno char(10) not null ,cno char(10) not null ,grade smallint,primary key (sno, cno)DDLSQL的 模 式 定 義 用 SQL刪 除 關(guān) 系 ( 表 )將 整 個(gè) 關(guān) 系 模 式 ( 表 結(jié) 構(gòu) ) 徹 底 刪 除表 中 的 數(shù) 據(jù) 也 將 被 刪 除Drop Table rDrop Table stu

18、dent;DDL刪 除 表 結(jié) 構(gòu) Drop 刪 除 表 中 的 某 屬 性去 除 屬 性 及 相 應(yīng) 的 數(shù) 據(jù)Alter Table r Drop ADDL修 改 模 式 Alter 增 加 表 中 的 屬 性向 已 經(jīng) 存 在 的 表 中 添 加 屬 性allow null已 有 的 元 組 中 該 屬 性 的 值 被 置 為 NullAlter Table r Add A DAlter Table student phone char(16);DDL修 改 模 式 Alter 屬 性 的 默 認(rèn) 值用 戶 不 提 供 某 屬 性 的 值 時(shí) , 默 認(rèn) 值 被 使 用 初 始 值 Ti

19、meStampDDL中 :ModifyDate char(30) Default TimeStamp;Alter Table student Add ID integer Default AutoIncrement;DDL Default Value 定 義 一 個(gè) 新 的 域 ( 用 戶 定 義 的 域 )需 要 重 復(fù) 使 用 的 域必 須 具 有 相 同 類 型 的 屬 性Create Domain As ;Create Domain datelog As char(30) default timestamp 域 的 刪 除Drop Domain datelog各 DBMS的 方 法 是

20、 不 同 的 Restrict/Cascade使 用 該 域 的 屬 性 的 處 理DDL 域 定 義 索 引 是 一 種 數(shù) 據(jù) 結(jié) 構(gòu) , 是 對(duì) 照 表 、 指 針 表 索 引 是 為 了 加 速 對(duì) 表 中 元 組 的 檢 索 而 創(chuàng) 建 的 一 種分 散 存 儲(chǔ) 結(jié) 構(gòu) ( B樹 )索 引 是 對(duì) 表 而 建 立 的 , 由 除 存 放 表 的 數(shù) 據(jù) 頁 面 以 外的 索 引 頁 面 組 成索 引 是 把 雙 刃 劍 , 減 慢 更 新 的 速 度 索 引 不 是 SQL標(biāo) 準(zhǔn) 的 要 求DDL 索 引 Index 索 引 的 種 類聚 簇 索 引 ( Clustered Inde

21、x)非 聚 簇 索 引 ( Non-Clustered Index)DDL 索 引 Index 聚 簇 索 引 ( Clustered Index)表 中 的 元 組 按 聚 簇 索 引 的 順 序 物 理 地 存 放根 級(jí) 頁 面 -中 間 層 頁 面 -葉 級(jí) 頁 面 ( 數(shù) 據(jù) 頁 面 )一 個(gè) 表 中 只 能 有 一 個(gè) 聚 簇 索 引更 新 的 復(fù) 雜 性 , 需 要 大 量 的 臨 時(shí) 空 間DDL 索 引 Index 非 聚 簇 索 引 ( Non-Clustered Index)表 中 元 組 存 儲(chǔ) 的 物 理 順 序 與 索 引 的 順 序 無 關(guān)葉 級(jí) 索 引 頁 面 是

22、 指 向 數(shù) 據(jù) 頁 面 的 指 針每 個(gè) 表 可 有 多 個(gè) 非 聚 簇 索 引DDL 索 引 Index CREATE UNIQUE CLUSTERED | NONCLUSTEREDINDEX index-name On TableName(Column,Column,)Create Index YearIndex On Movie(year);Create Clustered Index SnoIndex On student(sno) ;Drop Index YearIndex;DDL 索 引 Index 查 詢 與 更 新 的 評(píng) 估查 詢 多 ?更 新 多 ? 索 引 的 覆 蓋W

23、here表 達(dá) 式Where表 達(dá) 式 的 順 序 索 引 越 多 越 好 嗎 ? 了 解 優(yōu) 化 器DDL 索 引 的 使 用 數(shù) 據(jù) 添 加用 SQL的 插 入 語 句 , 向 數(shù) 據(jù) 庫 表 中 添 加 數(shù) 據(jù)按 關(guān) 系 模 式 的 屬 性 順 序Insert Into Student Values ( 95001 , 張 三 ,27, M, CS )按 指 定 的 屬 性 順 序 , 也 可 以 只 添 加 部 分 屬 性 ( 非Null屬 性 為 必 需 )Insert Into Student ( sno, sname, sage)Values ( 95002 , 李 四 , 26

24、 ) 把 一 列 中 的 值 進(jìn) 行 聚 合 運(yùn) 算 , 返 回 單 值 的 函 數(shù) 五 個(gè) 預(yù) 定 義 的 聚 合 函 數(shù) 平 均 值 : Avg 總 和 : Sum 最 小 值 : Min 最 大 值 : Max 計(jì) 數(shù) : Count Count(*)、 Count(Distinct)數(shù) 值聚 合 函 數(shù) Group By將 查 詢 結(jié) 果 集 按 某 一 列 或 多 列 的 值 分 組 , 值 相 等的 為 一 組 , 一 個(gè) 分 組 以 一 個(gè) 元 組 的 形 式 出 現(xiàn)只 有 出 現(xiàn) 在 Group By子 句 中 的 屬 性 , 才 可 出 現(xiàn) 在Select子 句 中例 : 統(tǒng)

25、 計(jì) 各 系 學(xué) 生 的 人 數(shù) 。Select sdept, count(*) as stu_countFrom StudentGroup By sdept聚 合 函 數(shù) Having針 對(duì) 聚 合 函 數(shù) 的 結(jié) 果 值 進(jìn) 行 篩 選 ( 選 擇 ) , 它 作 用 于分 組 計(jì) 算 結(jié) 果 集跟 在 Group By子 句 的 后 面 , 沒 有 Group By則 針 對(duì) 全 表例 : 列 出 具 有 兩 門 ( 含 ) 以 上 不 及 格 的 學(xué) 生 的 學(xué) 號(hào) 、 不及 格 的 課 目 數(shù) 。Select sno, count(sno) From SCWhere grade =

26、2聚 合 函 數(shù) Having 與 Where的 區(qū) 別Where 決 定 哪 些 元 組 被 選 擇 參 加 運(yùn) 算 , 作 用 于 關(guān) 系 中的 元 組Having 決 定 哪 些 分 組 符 合 要 求 , 作 用 于 分 組聚 合 函 數(shù) 的 條 件 關(guān) 系 必 須 用 Having, Where中 不 應(yīng) 出現(xiàn) 聚 合 函 數(shù) 聚 合 函 數(shù) 聚 合 函 數(shù) 忽 略 NullCount: 不 計(jì)Sum: 不 將 其 計(jì) 入Avg: 具 有 Null 的 元 組 不 參 與Max / Min: 不 參 與例 : Select count(sdept) From StudentSelec

27、t Avg(sage) From Student聚 合 函 數(shù) Null 子 查 詢 是 嵌 套 在 另 一 查 詢 中 的 Select-From-Where 表 達(dá) 式 ( Where/Having)SQL允 許 多 層 嵌 套 , 由 內(nèi) 而 外 地 進(jìn) 行 分 析 , 子 查詢 的 結(jié) 果 作 為 父 查 詢 的 查 找 條 件可 以 用 多 個(gè) 簡(jiǎn) 單 查 詢 來 構(gòu) 成 復(fù) 雜 查 詢 , 以 增 強(qiáng)SQL的 查 詢 能 力子 查 詢 中 不 使 用 Order By 子 句 , Order By子句 只 能 對(duì) 最 終 查 詢 結(jié) 果 進(jìn) 行 排 序子 查 詢 ( Subquer

28、y ) 返 回 單 值 的 子 查 詢 , 只 返 回 一 行 一 列父 查 詢 與 單 值 子 查 詢 之 間 用 比 較 運(yùn) 算 符 進(jìn) 行 連 接運(yùn) 算 符 : 、 =、 =、 =、 、 例 : 找 出 與 95001同 齡 的 學(xué) 生Select *From StudentWhere sage = ( Select sage From Student Where sno = 95001 )子 查 詢 單 值 比 較 子 查 詢 返 回 多 行 一 列運(yùn) 算 符 : In、 All、 Some(Any)、 Exists子 查 詢 多 值 標(biāo) 量 值 與 子 查 詢 返 回 集 中 的 某

29、 一 個(gè) 相 等 , true IN 被 用 來 測(cè) 試 多 值 中 的 成 員例 : 查 詢 選 修 C01課 程 的 學(xué) 生 的 學(xué) 號(hào) 、 姓 名 。Select sno,snameFrom StudentWhere sno IN ( Select sno From SCWhere cno = C01 )子 查 詢多 行 一 列子 查 詢 多 值 成 員 In 例 : 查 詢 選 修 了 數(shù) 據(jù) 庫 的 學(xué) 生 的 學(xué) 號(hào) 和 姓 名Select sno,snameFrom StudentWhere sno IN ( Select sno From SC Where cno IN ( S

30、elect cnoFrom CourseWhere cname = 數(shù) 據(jù) 庫 )子 查 詢 多 值 成 員 In 多 值 比 較 : 多 行 一 列 父 查 詢 與 多 值 子 查 詢 之 間 的 比 較 需 用 All來 連 接 標(biāo) 量 值 s比 子 查 詢 返 回 集 R中 的 每 個(gè) 都 大 時(shí) , sAll R 為True All表 示 所 有 all、 all、 =all、 all all 等 價(jià) 于 not in例 : 找 出 年 齡 最 小 的 學(xué) 生Select * From Student Where sage Some R為 True 或 s Any R為 True So

31、me(早 期 用 Any)表 示 某 一 個(gè) ,只 要 有 一 個(gè) 即 返 回 真 some、 some、 =some、 some = some 等 價(jià) 于 in、 some 不 等 價(jià) 于 not in 子 查 詢 多 值 比 較 Some/Any 例 : 找 出 不 是 最 小 年 齡 的 學(xué) 生Select * From studentWhere sage some ( Select sage From Student )子 查 詢 多 值 比 較 例 : 找 出 具 有 最 高 平 均 成 績(jī) 的 學(xué) 號(hào) 及 平 均 成 績(jī)Select sno ,avg(grade)From SC G

32、roup By sno Having avg(grade) = all (Select avg(grade) From SC Group By sno) 子 查 詢 多 值 比 較 Exists + 子 查 詢 用 來 判 斷 該 子 查 詢 是 否 返 回 元 組當(dāng) 子 查 詢 的 結(jié) 果 集 非 空 時(shí) , Exists為 True當(dāng) 子 查 詢 的 結(jié) 果 集 為 空 時(shí) , Exists為 False不 關(guān) 心 子 查 詢 的 具 體 內(nèi) 容 , 因 此 用 Select *子 查 詢 存 在 判 斷 Exists 具 有 外 部 引 用 的 子 查 詢 , 稱 為 相 關(guān) 子 查 詢

33、( Correlated Queries)外 層 元 組 的 屬 性 作 為 內(nèi) 層 子 查 詢 的 條 件子 查 詢 相 關(guān) 子 查 詢 例 : 列 出 選 修 了 C01課 程 的 學(xué) 生 的 學(xué) 號(hào) 、 姓 名Select sno,snameFrom StudentWhere Exists ( Select * From SC Where SC.sno = Student.sno And cno = C01)子 查 詢 Correlated & Exists 例 : 列 出 得 過 100分 的 學(xué) 生 的 學(xué) 號(hào) 、 姓 名Select sno,snameFrom StudentWhe

34、re Exists ( Select * From SCWhere SC.sno = Student.sno Andgrade = 100)子 查 詢 Correlated & Exists 例 : 查 詢 選 修 了 C01課 程 的 學(xué) 生 的 系 主 任Select managerFrom departmentWhere Exists ( Select * From studentWhere sdept = department.depid And Exists ( Select *From SCWhere SC.sno = student.sno Andcno = C01)子 查 詢

35、Correlated & Exists 例 : 列 出 沒 有 選 C01課 程 的 學(xué) 生 的 學(xué) 號(hào) 、 姓 名Select sno,snameFrom StudentWhere Not Exists ( Select * From SCWhere SC.sno = Student.sno Andcno = C01)子 查 詢 Correlated & Not Exists 例 : 查 詢 選 修 了 所 有 課 程 的 學(xué) 生 的 姓 名 (ForAll)Select snameFrom StudentWhere Not Exists ( Select * From CourseWher

36、e Not Exists ( Select *From SCWhere Student.sno = SC.sno AndSC.cno = Co)這 門 課 他 沒 選這 樣 的 課 是 不 存 在 的子 查 詢 Correlated & Not Exists SQL-92支 持 多 列 的 成 員 資 格 測(cè) 試 ( ASA7.0不 支 持 )例 : 找 出 同 系 、 同 年 齡 、 同 性 別 的 學(xué) 生Select *from Student as TWhere ( T.sdept,T.sage,T.ssex) IN ( Select From student as SWhere S.s

37、no T.sno ) 子 查 詢 多 列 元 組 的 比 較 SQL-92允 許 在 From中 使 用 查 詢 表 達(dá) 式必 須 為 其 取 名例 : 查 詢 平 均 成 績(jī) 大 于 75分 的 學(xué) 號(hào) 、 姓 名 、 平 均 成 績(jī) Select stu_no,sname,avg_gradeFrom Student, (Select sno,avg(grade)From SCGroup By sno ) as S (stu_no,avg_grade)Where Student.sno = S.stu_no Andavg_grade 75派 生 關(guān) 系 NULL表 示 數(shù) 據(jù) 的 缺 失 一

38、 個(gè) 確 實(shí) 存 在 , 但 我 們 不 知 道 的 值 對(duì) 本 實(shí) 體 此 數(shù) 值 無 意 義 , 可 能 是 設(shè) 計(jì) 上 的 失 誤是 SQL的 關(guān) 鍵 字 , 用 于 任 何 類 型 描 述 缺 失 的 值UNKONW是 三 值 邏 輯 的 一 個(gè) 真 值 (True/False/Unkonw)空 值 和 連 接 NULL的 運(yùn) 算 法 則對(duì) NULL值 和 其 他 任 何 值 作 算 術(shù) 運(yùn) 算 時(shí) ,結(jié) 果 為 NULL對(duì) NULL值 和 其 他 任 何 值 作 比 較 時(shí) , 結(jié) 果為 UNKOWNIs Null / Is Not Null空 值 和 連 接 Unkown視 Tru

39、e為 1, False為 0, Unkown為 1/2AND: 取 小OR: 取 大NOT: 取 1的 補(bǔ)真 值 表 不 必 死 記 硬 背空 值 和 連 接 關(guān) 系 的 連 接連 接 操 作 是 以 兩 個(gè) 關(guān) 系 為 輸 入 、 將 另 一 個(gè) 關(guān) 系 作 為 結(jié)果 返 回笛 卡 兒 積 、 條 件 連 接 、 自 然 連 接 、 外 連 接自 然 連 接 ( Natural ) : 連 接 條 件 是 兩 個(gè) 關(guān) 系 中 具 有 公 共 名 字 的 所 有 屬 性對(duì) 均 相 等 , 不 需 要 其 他 條 件 對(duì) 每 個(gè) 相 等 屬 性 對(duì) 之 一 進(jìn) 行 投 影 ( 去 除 重 復(fù) 屬

40、 性 ) Student Natural Join SC Student SC 關(guān) 系 的 連 接內(nèi) 連 接 ( Inner Join) : 它 是 條 件 連 接 , 要 求 參 加 連 接 的 關(guān) 系 中 至 少 有 一對(duì) 元 組 滿 足 連 接 要 求 , 才 能 生 成 連 接 關(guān) 系 可 以 是 等 值 連 接 , 也 可 以 是 不 等 值 連 接 新 的 關(guān) 系 的 屬 性 集 是 參 加 連 接 的 關(guān) 系 的 屬 性 的 組合 , 不 去 除 重 復(fù) 屬 性 Inner是 缺 省 的 連 接 方 式 也 可 以 用 笛 卡 兒 積 + 選 擇 的 方 法 實(shí) 現(xiàn) Studen

41、t Inner Join SC on Student.sno = SC.sno 關(guān) 系 的 連 接外 連 接 ( Outer Join ) :它 是 條 件 連 接 , 且 條 件 是 必 需 的 。若 一 個(gè) 關(guān) 系 中 的 元 組 在 另 一 個(gè) 關(guān) 系 中 沒 有 相 匹 配 的元 組 , 則 這 些 元 組 會(huì) 在 連 接 結(jié) 果 中 出 現(xiàn) , 并 在 另 一個(gè) 關(guān) 系 的 其 他 屬 性 位 置 上 放 上 Null, 而 不 是 像 Inner 那 樣 被 忽 略 。新 的 關(guān) 系 的 屬 性 集 是 參 加 連 接 的 關(guān) 系 的 屬 性 的 組 合 ,不 去 除 重 復(fù) 屬

42、性有 左 外 連 接 、 右 外 連 接 、 全 外 連 接 關(guān) 系 的 連 接左 外 連 接 ( Left Outer Join ) :Select *From ( Student Left Outer Join SCon Student.sno = SC.sno) 右 外 連 接 ( Right Outer Join ) :Select *From ( Student Right Outer Join SCon Student.sno = SC.sno) 全 外 連 接 ( Full Outer Join ) :Select *From ( Student Full Outer Join

43、SCon Student.sno = SC.sno) 數(shù) 據(jù) 庫 的 修 改數(shù) 據(jù) 庫 修 改 包 括 插 入 數(shù) 據(jù) 、 修 改 數(shù) 據(jù) 、 刪 除 數(shù) 據(jù)數(shù) 據(jù) 刪 除 ( Delete) 只 能 對(duì) 整 個(gè) 元 組 操 作 , 不 能 只 刪 除 某 些 屬 性 上 的 值 只 能 對(duì) 一 個(gè) 關(guān) 系 起 作 用 , 若 要 從 多 個(gè) 關(guān) 系 中 刪 除 元 組 ,則 必 須 對(duì) 每 個(gè) 關(guān) 系 分 別 執(zhí) 行 刪 除 命 令Delete From r Where P 從 關(guān) 系 r 中 刪 除 滿 足 P的 元 組 , 只 是 刪 除 數(shù) 據(jù) , 而 不是 定 義 刪 除 單 個(gè) 元

44、 組例 : 刪 除 學(xué) 號(hào) 為 95001的 學(xué) 生 的 選 課 信 息Delete From SCWhere sno = 95001 刪 除 多 個(gè) 元 組例 : 刪 除 選 課 而 未 參 加 考 試 的 學(xué) 生 的 選 課 信 息Delete From SCWhere grade is null 刪 除 整 個(gè) 關(guān) 系 中 的 所 有 數(shù) 據(jù)例 : 刪 除 所 有 學(xué) 生 的 選 課 信 息Delete From SC 數(shù) 據(jù) 插 入 ( Insert)單 行 插 入 : 一 次 只 插 入 一 個(gè) 元 組例 : 新 增 一 個(gè) 學(xué) 生 信 息Insert Into StudentVal

45、ues ( 98001, Gloria,25, F, CS)多 行 插 入 : 插 入 一 個(gè) 集 合例 :給 CS系 的 學(xué) 生 開 設(shè) 必 修 課 C05, 建 立 選 課 信 息Insert Into SCSelect sno,cno,nullFrom Student,CourseWhere sdept = CS andcno = C05 數(shù) 據(jù) 更 新 ( Update)改 變 符 合 條 件 的 某 個(gè) ( 某 些 ) 元 組 的 屬 性 值例 : 將 95001學(xué) 生 轉(zhuǎn) 入 MA系Update StudentSet sdept = MAWhere sno = 95001例 : 所

46、 有 學(xué) 生 年 齡 加 1Update StudentSet sage = sage + 1 數(shù) 據(jù) 更 新 ( Update)例 : 將 選 修 C05課 程 的 學(xué) 生 的 成 績(jī) 改 為 該 課 的 平 均成 績(jī) Update SCSet grade = (Select avg(grade)From SCWhere cno = C05)Where cno = C05先 計(jì) 算 avg, 再 做 Update 視 圖 ( View)是 從 一 個(gè) 或 幾 個(gè) 基 本 表 ( 或 視 圖 ) 中 導(dǎo) 出 的 虛 表數(shù) 據(jù) 庫 中 只 保 存 它 的 定 義是 RDBMS提 供 給 用 戶

47、以 多 種 角 度 觀 察 數(shù) 據(jù) 庫 中數(shù) 據(jù) 的 重 要 機(jī) 制創(chuàng) 建 視 圖 、 刪 除Create View v as Drop View v例 : 計(jì) 算 機(jī) 系 的 花 名 冊(cè)Create View CS_Stu asSelect sno,sname,ssexFrom StudentWhere sdept = CS 視 圖 ( View)視 圖 名 可 以 出 現(xiàn) 在 任 何 關(guān) 系 名 可 以 出 現(xiàn) 的 地 方例 : 列 出 計(jì) 算 機(jī) 系 的 男 生Select sno,snameFrom CS_StuWhere ssex = M 例 : 建 立 學(xué) 生 平 均 成 績(jī) 視

48、圖Create View avg_grade(sno,avg) asSelect sno,avg(grade)From SCGroup By sno 視 圖 ( View)例 : 找 出 平 均 成 績(jī) 大 于 等 75的 學(xué) 生Select *From avg_gradeWhere avg = 75注 意 : 此 例 的 使 用 方 法 是 非 標(biāo) 準(zhǔn) 的 。 視 圖 ( View)視 圖 的 更 新 : 單 表 、 原 始 屬 性 構(gòu) 成 的 視 圖 可 以 更新 ( 像 基 本 表 那 樣 更 新 )由 多 表 構(gòu) 成 的 視 圖 由 很 大 的 限 制視 圖 中 的 非 原 始 屬 性

49、 也 不 能 更 新例 : Update avg_gradeSet avg = 100Where sno = 95001avg不 是 原始 屬 性 視 圖 ( View) 視 圖 的 作 用簡(jiǎn) 化 用 戶 的 操 作不 同 的 用 戶 可 從 不 同 的 角 度 看 待 同 一 數(shù) 據(jù)支 持 一 定 的 邏 輯 數(shù) 據(jù) 獨(dú) 立 性數(shù) 據(jù) 的 安 全 性 數(shù) 據(jù) 定 義 語 言 ( Data Definition Language)Create、 Drop、 Alter定 義 一 組 關(guān) 系 ( 基 本 表 ) 、 說 明 各 關(guān) 系 的 信 息 各 關(guān) 系 的 模 式 各 屬 性 的 值 域

50、完 整 性 約 束 索 引 安 全 性 和 權(quán) 限 各 關(guān) 系 在 磁 盤 上 的 物 理 存 儲(chǔ) 結(jié) 構(gòu)數(shù) 據(jù) 定 義 語 言 ( DDL) SQL中 的 域 類 型字 符 型 char(n) varchar(n)數(shù) 值 型 int smallint numeric(p,d) real、 double float(n)日 期 /時(shí) 間 型 date time 域 定 義 語 句 ( SQL-92支 持 )需 重 復(fù) 使 用 的Create Domain stu_name varchar(20)Create Domain zip_code char(6) SQL的 模 式 定 義Create

51、Table r (A1D1, A2D2, , AnDn,)其 中 : r 關(guān) 系 名 ( 表 名 ) Ai 關(guān) 系 r 的 一 個(gè) 屬 性 名 D n 屬 性 Ai域 值 的 域 類 型主 鍵 聲 明 : primary key (Aj1 , Aj2 , , Ajvm )校 驗(yàn) 聲 明 : check (邏 輯 表 達(dá) 式 ) ExamplesCreate Domain stu_name varchar(20)Create Table Student ( sno char(10) not null , sname stu_name ,sage smallint,ssex char(1),sde

52、pt char(2),primary key (sno),check(ssex in (M, F) Create Table Course (cno char(10) not null ,cname varchar(20) ,credit smallint,primary key (cno)Create Table SC (sno char(10) not null ,cno char(10) not null ,grade smallint,primary key (sno, cno),check(grade =0 and grade =100) 用 SQL刪 除 關(guān) 系 ( 表 )將 整

53、個(gè) 關(guān) 系 模 式 ( 表 結(jié) 構(gòu) ) 徹 底 刪 除Drop Table r 用 SQL刪 除 表 中 的 某 屬 性去 除 屬 性 及 相 應(yīng) 的 數(shù) 據(jù)Alter Table r Drop A 用 SQL增 加 表 中 的 屬 性向 已 經(jīng) 存 在 的 表 中 添 加 屬 性已 有 的 元 組 中 該 屬 性 的 值 被 置 為 NullAlter Table r Add A D 數(shù) 據(jù) 添 加用 SQL的 插 入 語 句 , 向 數(shù) 據(jù) 庫 表 中 添 加 數(shù) 據(jù)按 關(guān) 系 模 式 的 屬 性 順 序Insert Into Student Values ( 95001 , 張 三 ,2

54、7, M, CS )按 指 定 的 屬 性 順 序 , 也 可 以 只 添 加 部 分 屬 性 ( 非Null屬 性 為 必 需 )Insert Into Student ( sno, sname, sage)Values ( 95002 , 李 四 , 26 ) NullNull是 unknown與 Null的 比 較 都 返 回 unknown(unknown or unknown) unknown(true and unknown) unknown(false and unknown) = false(unknown and unknown) = unknown 練 習(xí) 針 對(duì) 學(xué) 生 -課 程 體 系 , 作 SQL查 詢列 出 各 系 的 學(xué) 生 數(shù) ( 人 數(shù) 多 的 排 在 前 面 )找 出 各 科 成 績(jī) 均 在 85分 以 上 ( 含 ) 的 學(xué) 生 的學(xué) 號(hào) 、 姓 名找 出 有 三 門 課 程 的 成 績(jī) 在 75分 以 下 的 學(xué) 生 的學(xué) 號(hào) 、 姓 名列 出 數(shù) 據(jù) 庫 成 績(jī) 的 前 五 名 學(xué) 生 的 學(xué) 號(hào) 、 姓 名 、成 績(jī)

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!