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

正文內(nèi)容

數(shù)據(jù)庫概論-關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言(編輯修改稿)

2025-02-13 12:41 本頁面
 

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