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

正文內(nèi)容

關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言sql(已改無錯字)

2022-08-15 10:27:44 本頁面
  

【正文】 之后 例 查詢與“劉晨”在同一個系學(xué)習(xí)的學(xué)生 SELECT Sno, Sname, Sdept FROM Student WHERE Sdept = (SELECT Sdept FROM Student WHERE Sname = ?劉晨’ )。 (不相關(guān)子查詢) 2022/8/15 第 58頁 三、帶有 ANY或 ALL謂詞的子查詢 ?與比較運算符 (,=,=,!=等 )配合使用 ? ANY(ALL) 大于子查詢結(jié)果中的某個 (所有 )值 ? ANY(ALL) 小于子查詢結(jié)果中的某個 (所有 )值 ? =ANY(ALL) 大于等于子查詢結(jié)果中的某個 (所有 )值 ? =ANY(ALL) 小于等于子查詢結(jié)果中的某個 (所有 )值 ? =ANY(ALL) 等于子查詢結(jié)果中的某個 (所有 )值 ? !=ANY(ALL) 不等于子查詢結(jié)果中的某個 (任何 )值 2022/8/15 第 59頁 例 1 SELECT Sname, Sage FROM Student WHERE Sage ANY (SELECT Sage FROM Student WHERE Sdept = ?IS?) AND Sdept ?IS?。 SELECT Sname, Sage FROM Student WHERE Sage (SELECT MAX(Sage) FROM Student WHERE Sdept = ?IS?) AND Sdept ?IS?。 例 查詢其他系中比信息系某一學(xué)生年齡小的學(xué)生姓名和年齡 也可以用集函數(shù)來實現(xiàn) 2022/8/15 第 60頁 例 2 SELECT Sname, Sage FROM Student WHERE Sage ALL (SELECT Sage FROM Student WHERE Sdept = ?IS?) AND Sdept ?IS?。 例 查詢其他系中比信息系所有學(xué)生年齡都小的學(xué)生姓名和年齡 SELECT Sname, Sage FROM Student WHERE Sage (SELECT MIN(Sage) FROM Student WHERE Sdept = ?IS?) AND Sdept ?IS?。 也可以用集函數(shù)來實現(xiàn) 2022/8/15 第 61頁 轉(zhuǎn)換關(guān)系 ?事實上,用集函數(shù)實現(xiàn)子查詢通常比直接用 ANY或 ALL查詢效率要高 ?ANY、 ALL與集函數(shù)及 IN的等價轉(zhuǎn)換關(guān)系 = ! = = = ANY IN MAX =MAX MIN =MIN ALL NOT IN MIN =MIN MAX =MAX 2022/8/15 第 62頁 四、帶有 EXISTS謂詞的子查詢 ?不需要返回具體數(shù)據(jù),而只關(guān)心是否有返回值,即返回邏輯真或假 SELECT Sname FROM Student WHERE EXISTS (SELECT * FROM SC WHERE Sno = AND Cno = ?1?)。 例 查詢所有選修了一號課程的學(xué)生姓名 (相關(guān)子查詢) 2022/8/15 第 63頁 例子 SELECT Sname FROM Student WHERE NOT EXISTS (SELECT * FROM SC WHERE Sno = AND Cno = ?1?)。 例 查詢沒有選修一號課程的學(xué)生姓名 (相關(guān)子查詢) 2022/8/15 第 64頁 替換關(guān)系 ? 一些帶 EXISTS或 NOT EXISTS謂詞的子查詢不能被其他形式的子查詢替換,但所有帶 IN謂詞、比較運算符、 ANY和 ALL謂詞的子查詢都能用EXISTS謂詞等價替換 SELECT Sno, Sname, Sdept FROM Student WHERE Sdept IN (SELECT Sdept FROM Student WHERE Sname = ?劉晨’ )。 例 查詢與“劉晨”在同一個系學(xué)習(xí)的學(xué)生 SELECT Sno, Sname, Sdept FROM Student S1 WHERE EXISTS (SELECT * FROM Student S2 WHERE = AND = ?劉晨’ )。 2022/8/15 第 65頁 全稱量詞 ? SQL語言中沒有全稱量詞 (for all),但可使用存在量詞 進行轉(zhuǎn)換后實現(xiàn): SELECT Sname FROM Student WHERE NOT EXISTS (SELECT * FROM Course WHERE NOT EXISTS (SELECT * FROM SC WHERE Sno = AND Cno = ))。 例 查詢選修了全部課程的學(xué)生姓名 (可理解為: 查詢 沒有一門課程不選修 的學(xué)生姓名) ))(()( PxPx ???????x表示課程, P表示謂詞“選修” 2022/8/15 第 66頁 邏輯蘊函 ? SQL語言中的邏輯運算包括非 (NOT)、 與 (AND)、 或 (OR) ? 而常用的邏輯運算還包括異或 、 等價 、 蘊涵等 , SQL語言中沒有邏輯蘊函 (Implication)運算 , 但可利用謂詞演算轉(zhuǎn)換一個邏輯蘊函: ? 在蘊涵運算 P?Q中 , 只有當(dāng)前提為 True并且結(jié)果為False的情況下 邏輯蘊涵的 結(jié)果為 False, 其余的情況下邏輯蘊涵的 結(jié)果均為 True。 邏輯蘊涵運算的條件和結(jié)果 : QPQP ????P Q 結(jié)果 True True True True False False False True True False False True 2022/8/15 第 67頁 例子 查詢至少選修了學(xué)生 95002號選修的全部課程的學(xué)生學(xué)號 該查詢的邏輯蘊涵:查詢學(xué)號為 x的學(xué)生 , 對所有的課程y, 只要 學(xué)生 95002號選修 了 y, 則 學(xué)生 x也 選修 了 y。 其語義為:不存在這樣的課程 y , 學(xué)生 95002號選修了 ,而學(xué)生 x 沒選 )()))((())((()(qpyqpyqpyqpy??????????????????:該查詢有如下等價形式該謂詞用p表示 該謂詞用 q表示 2022/8/15 第 68頁 例子 SELECT DISTINCT Sno FROM SC SCX WHERE NOT EXISTS (SELECT * FROM SC SCY WHERE = ?95002? AND NOT EXISTS (SELECT * FROM SC SCZ WHERE = AND = ))。 例 查詢至少選修了學(xué)生 95002號選修的全部課程的學(xué)生學(xué)號 根據(jù)上述謂詞演算表達式“ 不存在這樣的課程 y ,學(xué)生95002號選修了,而學(xué)生 x 沒選 ”,易得如下 SQL語句: 95002選修的課 學(xué)生 x 選課情況 選課情況2022/8/15 第 69頁 課堂練習(xí) ?檢索選修了數(shù)據(jù)庫原理并且成績比張三高的所有學(xué)生的姓名和成績。 ?檢索選修了離散數(shù)學(xué)、數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)庫原理的學(xué)生姓名。 ?檢索沒有不及格課程的學(xué)生姓名。 2022/8/15 第 70頁 集合查詢 ? SELECT 語句的查詢結(jié)果是元組的集合,所以多個 SELECT語句的查詢結(jié)果可進行集合操作 ? 集合操作運算符 ? 并 UNION, 交 INTERSECT, 差 MINUS(EXCEPT) SELECT * FROM Student WHERE Sdept = ?CS? UNION SELECT * FROM Student WHERE Sage = 19; 例 查詢計算機科學(xué)系的學(xué)生及年齡不大于 19歲的學(xué)生 2022/8/15 第 71頁 例子 ? 查詢有貸款帳戶或有存款帳戶的客戶 : (select customername from depositor) union (select customername from borrower)。 ? 查詢同時有貸款帳戶和存款帳戶的客戶 : (select customername from depositor) intersect (select customername from borrower)。 ? 查詢有存款帳戶但沒有貸款帳戶的客戶 : (select customername from depositor) except (select customername from borrower)。 2022/8/15 第 72頁 說明 ? UNION將多個查詢結(jié)果合并,并自動去掉重復(fù)元組。但系統(tǒng)要求參加 UNION操作的各結(jié)果表的列數(shù)和對應(yīng)數(shù)據(jù)類型必須相同 ? 標(biāo)準(zhǔn) SQL中沒有直接提供 INTERSECT和EXCEPT操作,但可以用其他方法來實現(xiàn) SELECT * FROM Student WHERE Sdept=?CS? AND Sage=19。 例 查詢計算機系的學(xué)生與年齡不大于 19歲的學(xué)生的交集 即:查詢計算機系中年齡不大于 19歲的學(xué)生 2022/8/15 第 73頁 轉(zhuǎn)換例子 SELECT Sno FROM SC WHERE Cno=?1? AND Sno IN (SELECT Sno FROM SC WHERE Cno=?2?)。 例 查詢選修課程 1的學(xué)生集合與選修課程 2的學(xué)生集合的交集 即:查詢既選修了課程 1又選修了課程 2的學(xué)生 SELECT * FROM Student WHERE Sdept=?CS? AND Sage19。 例 查詢計算機系的學(xué)生與年齡不大于 19歲的學(xué)生的差集 即:查詢計算機系中年齡大于 19歲的學(xué)生 2022/8/15 第 74頁 例子 ? 查詢同時有貸款帳戶和存款帳戶的客戶 : select customername from depositor, borrow where = 。 或 select customername from depositor where in (select o from borrower)。 ? 查詢有存款帳戶但沒有貸款帳戶的客戶
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1