【文章內容簡介】
格式: 集合 1 IN 集合 2 集合 1 NOT IN 集合 2 含義: IN和 NOT IN 如果集合 1中的數(shù)據(jù)是集合 2中的成員,那么其邏輯值為 true,否則為 false. 26 例 查詢所有學習了數(shù)據(jù)結構課(課程號為C401001)的學生的學號和姓名。 SELECT , SNAME FROM S WHERE S IN (SELECT S FROM SC WHERE C =‘C401001’); IN和 NOT IN 例 27 格式 : 列數(shù)據(jù) θ ANY 集合 列數(shù)據(jù) θ SOME 集合 含義: ANY和 SOME 如果比較運算符 θ 左邊的數(shù)據(jù)與右邊集合中 至少一個 元素滿足 θ 運算,那么其邏輯值為 true,否則為 false. 28 例 查詢所有學習了數(shù)據(jù)結構課(課程號為C401001)的學生的學號和姓名。 解法 3 SELECT , SNAME FROM S WHERE S =ANY (SELECT S FROM SC WHERE C =‘C401001’); ANY和 SOME 例 29 格式 : 列數(shù)據(jù) θ ALL 集合 含義: ALL 如果比較運算符 θ 左邊的數(shù)據(jù)與右邊集合中所有元素滿足 θ 運算,那么其邏輯值為 true,否則為 false. 30 ALL 例 例 查詢考試成績大于 計算機科學專業(yè) (專業(yè)代碼 S0401)所有學生課程成績的學生的基本信息 SELECT S.* FROM S, SC WHERE = AND GRADE ALL (SELECT GRADE FROM S, SC WHERE = AND SCODE=’S0401’); 31 格式: EXISTS( 集合 ) NOT EXISTS( 集合 ) 含義: EXISTS和 NOT EXISTS EXISTS是存在量詞,當集合中 至少存在一個 元素(非空)時,其邏輯值為 true,否則為 false。 NOT EXISTS是空集判斷,當集合中 不存在任何元素(為空)時,其邏輯值為 true,否則為 false。 32 例 查詢所有學習了數(shù)據(jù)結構課(課程號為C401001)的學生的學號和姓名。 SELECT , SNAME FROM S WHERE EXISTS (SELECT * FROM SC WHERE = AND C =‘C401001’); EXISTS和 NOT EXISTS 例 33 SELECT C,AVG(GRADE) FROM SC,TEACH,T WHERE = AND = AND TNAME Like ’張 %’ GROUP BY C ORDER BY 2 DESC。 例: 求張老師所授課程的每門課程的學生平均成績,并按平均成績降序輸出。 第 4節(jié) SQL的視圖操作 第 5章 關系數(shù)據(jù)庫語言 SQL 主要內容 ? 視圖的概念 ? 視圖的定義 ? 在視圖上進行查詢操作 ? 用戶視圖對數(shù)據(jù)庫系統(tǒng)設計和性能帶來的影響 35 一、視圖的概念 ? 視圖是從一個或幾個基本表(或視圖)通過視圖定義語句所描述的映射關系導出的表。 ? 數(shù)據(jù)庫中,只有視圖的定義,沒有視圖的數(shù)據(jù)。這些數(shù)據(jù)還在基本表中。因此,視圖是一種 “虛表 ” 。 36 S# SNAME C# GRADE S# SNAME AGE SEX S256 … Wang 21 F S# C# GRADE S256 … C5 80 CG S SC S256 Wang C5 80 查詢 語句 學生成績視圖 CG(S#