freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)庫概論-關系數(shù)據(jù)庫標準語言(編輯修改稿)

2025-02-13 12:41 本頁面
 

【文章內(nèi)容簡介】 39。 MA ’。 例 40:求比數(shù)學系中全體學生年齡都大的學生姓名和系。 ( ALL) ANY(或 SOME), ALL謂詞與聚集函數(shù)、 IN謂詞的等價轉(zhuǎn)換關系 = 或 != = = ANY IN MAX =MAX MIN = MIN ALL NOT IN MIN = MIN MAX = MAX EXISTS 為存在量詞,用來測試子查詢是否返回結果; ? EXISTS表示存在量詞 , 帶有 EXISTS的子查詢不返回任何實際數(shù)據(jù) , 它只得到邏輯值 “ 真 ” 或“ 假 ” 。 其目標列表達式通常都用 *, 給出列名無實際意義 。 ? 當子查詢的的查詢結果集合為非空時 , 外層的WHERE子句返回真值 , 否則返回假值 。 NOT EXISTS與此相反 。 ? 含有 IN的查詢通常可用 EXISTS表示 , 但反過來不一定 。 3. 嵌套查詢可以是多層的 查詢涉及多個關系時,利用嵌套查詢逐次求解層次分明,容易理解也容易書寫,具有結構化程序設計的特點。 嵌套查詢的執(zhí)行效率比連接查詢效率高。 例 41:求選修了課程名為 ‘ 數(shù)據(jù)結構 ’ 的學生的學號和姓名。 ③ 最后在 Student關系中 取出 Sno和 Sname ② 然后在 SC關系中找出選 修了 003號課程的學生學號 ① 首先在 Course關系中找出 “ 數(shù)據(jù)結構 ” 的課程號,為 003號 SELECT Sno, Sname FROM Student WHERE Sno IN (SELECT Sno FROM SC WHERE Cno IN (SELECT Cno FROM Course WHERE Cname= ‘數(shù)據(jù)結構 ’ ) )。 4. 返回多列的子查詢 子查詢可以返回多個列。當子查詢返回多列時,關系運算的另一側也應是多個列,并且這些列的清單必須用括號括起來。 子查詢返回列的個數(shù)及類型必須要與主查詢列的個數(shù)及類型匹配。 例 42:求與黎明同系和相同年齡的學生的姓名。 5. 使用多個子查詢(多重子查詢) WHERE子句中可以包含任何數(shù)量的由AND和 OR連接的含有子查詢的條件。 例 43:求與黎明同系,或年齡大于李麗的學生的 信息。 例 44:求 ’ 計算機系 ’ 中與 ’ 數(shù)學系 ’ 中同齡的學生信息(假設不知道系的編號)。 設系編碼數(shù)據(jù)庫為 DEPT(DNO, DNAME, ADDR)。 6. 子查詢中使用表連接 有時,子查詢可能需要從每個表中檢索數(shù)據(jù)項,這時可在子查詢中使用表連接。 例 45:求 ’ 數(shù)學系 ’ 中年齡相同的學生姓名和年齡。 7. 相關子查詢 例 46:查詢沒有選修任何課程的學生學號和姓名。 SELECT SNO, SNAME FROM STUDENT S WHERE NOT EXISTS ( SELECT * FROM SCORE SC WHERE = )。 本例中子查詢的查詢條件引用了父查詢表中的屬性值( Student表的 SNO值),我們把這類查詢稱為相關子查詢。 ? 二者的執(zhí)行方式不同 ? 普通子查詢的執(zhí)行順序是 ? 首先執(zhí)行子查詢,然后把子查詢的結果作為父查詢的查詢條件的值。 ? 普通子查詢只執(zhí)行一次,而父查詢所涉及的所有記錄行都與其查詢結果進行比較以確定查詢結果集合。 ? 相關子查詢的執(zhí)行順序是 ? 首先選取父查詢表中的第一行記錄,內(nèi)部的子查詢利用此行中相關的屬性值進行查詢, ? 然后父查詢根據(jù)子查詢返回的結果判斷此行是否滿足查詢條件。如果滿足條件,則把該行放入父查詢的查詢結果集合中。重復執(zhí)行這一過程,直到處理完父查詢表中的每一行數(shù)據(jù)。 ? 相關子查詢的執(zhí)行次數(shù)是由父查詢表的行數(shù)決定的。 例 47:查詢所有選修了 001號課程的學生姓名。 思路分析: 本查詢涉及 Student和 Score關系; 在 Student中依次取每個元組的 Sno值,用此值去檢查 Score關系; 若 Score中存在這樣的元組,其 Sno值等于此 ,并且其 Cno= 39。00139。,則取此 ? 用嵌套查詢 SELECT Sname FROM Student WHERE EXISTS (SELECT * FROM Score WHERE Sno= AND Cno=39。00139。)。 ? 用連接運算 SELECT Sname FROM Student, Score SC WHERE = AND =39。00139。 例 48:查詢未選修 001課程的學生姓名。 SELECT SNAME FROM STUDENT S WHERE NOT EXISTS (SELECT * FROM SCORE SC WHERE CNO=39。00139。 AND = )。 思考:查詢只選修 001課程的學生姓名。 SELECT SNAME FROM STUDENT WHERE SNO IN (SELECT SNO FROM SCORE WHERE CNO 39。00139。 )。 ? 例 49:查詢選修全部課程的學生姓名。 SELECT Sname FROM Student WHERE NOT EXISTS (SELECT * FROM Course WHERE NOT EXISTS (SELECT * FROM Score WHERE Sno= AND Cno= ) )。 例 50:查詢成績比所選課程平均成績高的學生的學號、課程號和成績。 候選課程的平均成績 (SELECT AVG(SCORE) FROM SCORE X2 WHERE =) 該門課程的平均成績 ) SELECT SNO, CNO, SCORE FROM SCORE X1 WHERE SCORE 本例中使用了別名。 ORDER BY 。 例 51:查詢至少選修了學生 96002選修的全部課程的學生號碼。 解題思路: ? 用邏輯蘊函表達:查詢學號為 x的學生,對所有的課程 y,只要 96002學生選修了課程 y,則 x也選修了 y。 ? 形式化表示: 用 P表示謂詞 “學生 96002選修了課程 y” 用 q表示謂詞 “學生 x選修了課程 y” 則上述查詢?yōu)?: (?y) p ? q ? 等價變換: (?y)p ? q ≡ ? (?y (?(p ? q )) ≡ ? (?y (?(? p∨ q) )) ≡ ? ?y(p∧ ?q) ? 變換后語義:不存在這樣的課程 y,學生96002選修了 y,而學生 x沒有選。 用 NOT EXISTS謂詞表示: SELECT DISTINCT Sno FROM Score SCX WHERE NOT EXISTS (SELECT * FROM Score SCY WHERE =39。9600239。 AND NOT EXISTS (SELECT * FROM Score SCZ WHERE = AND =))。 集合查詢 不作講解,自學。 第四章作業(yè): (第 1次 ) 1. 2。 2. 10. ⑷ ~⑻。 3. 11. ⑵ ~⑹。 思考題 1. 1。 2. 4。 SQL的數(shù)據(jù)定義功能包括三部分 : 定義基本表 定義視圖 定義索引表 TABLE TABLE CREATE VIEW DROP VIEW INDEX INDEX ALTER TABLE SQL數(shù)據(jù)定義 DDL 1. 基本表 ① 定義基本表結構 ? 定義基本表名 ? 定義表中各列的特征: 列名、數(shù)據(jù)類型、 長度以及能否取空值 基本表的定義和修改 一般格式: CREATE TABLE 基本表名 ( 列名 1 數(shù)據(jù)類型 [列級完整性約束條件 ] [, 列名 2 數(shù)據(jù)類型 [列級完整性約束條件 ] ] [, [表級完整性約束條件 ]]) [ 其它參數(shù) ]; 說明: ? 建表的同時可以定義與該表有關的完整性約束 ,這些約束條件被存入系統(tǒng)的數(shù)據(jù)字典中 ,當用戶操作表時 ,DBMS會自動檢查該操作是否有違背完整約束條件 . ? 建立約束的考慮:如果完整性約束條件涉及到該表的多個屬性列,則必須定義在表級上;否則既可以定義在列級上也可以定義在表級上。 ? 表名、列名是不區(qū)分大小寫的。 ? 對一個用戶而言,表名必須唯一;一個表中,列名必須唯一。 ? 表名、列名必須以字母開頭,長度不超過 30個字符。 ? 在 Oracle數(shù)據(jù)庫中支持的數(shù)據(jù)類型與其他數(shù)據(jù)庫支持的數(shù)據(jù)類型不大一樣。下面列表說明Oracle數(shù)據(jù)庫所支持的常用的數(shù)據(jù)類型。 數(shù)據(jù)類型 說明 char(n) 存放定長字符數(shù)據(jù),最長 255個子符 varchar (n) 存放變長字符數(shù)據(jù),最長 255個子符 varchar2(n) 存放可變長字符數(shù)據(jù),最大長度為 2021個字符。 number(n,d) 數(shù)值型數(shù)據(jù), n代表總長度, d代表小數(shù)位數(shù)。 blob 二進制大對象,長度 4GB raw(n) 純二進制數(shù)據(jù),最大 2021字節(jié) date 日期型。公元前 4712年 1月 1日到公元 9999年 12月 31日 long 存放變長字符數(shù)據(jù),最大 2GB. 例 52:建立關于學生 課程數(shù)據(jù)庫信息的數(shù)據(jù)庫表 CREATE TABLE STUDENT (SNO CHAR(5) CONSTRAINT PK_S PRIMARY KEY(SNO), SNAME VARCHAR(10) NOT NULL, SDEPT CHAR(2) NOT NULL, SCLASS CHAR(2) NOT NULL, SSEX CHAR(2) CHECK (SSEX IN (39。男 39。,39。女 39。,39。39。)), SAGE NUMBER(2) CHECK (SAGE BETWEEN 16 AND 25) )。 CREATE TABLE STUDENT (SNO CHAR(5), SNAME VARCHAR(10) NOT NULL, SDEPT CHAR(2) NOT NULL, SCLASS CHAR(2) NOT NULL, SSEX CHAR(2) CHECK (SSEX IN (39。男 39。,39。女 39。,39。39。)), SAGE NUMBER(2) CHECK (SAGE BETWEEN 16 AND 25), CONSTRAINT PK_S PRIMARY KEY(SNO))。 CREATE TABLE SCORE (SNO CHAR(5
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1