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

正文內(nèi)容

oracle數(shù)據(jù)庫及sql基礎(chǔ)(編輯修改稿)

2024-11-14 18:20 本頁面
 

【文章內(nèi)容簡介】 、姓名及成績): SELECT ,sname,grade FROM student,sc,course WHERE ame=39。物理 39。 AND grade60 AND = AND = : ?在該例中,查詢的結(jié)果來自兩張表,而決定查詢結(jié)果的因素涉及到三張表的信息。 Select sname,dname from student,dep where (+) = and in(`d01`,`d02`,`d03`) Ename dname wang dep1 zhang dep1 li dep2 dep3 多表查詢 - 外查詢 顯示目前沒有學(xué)生的系: select dname from student , dep where (+) = and sno is null d01 d01 d03 d02 d02 null null null emp dep d01 d02 d03 d04 多表查詢 - 外查詢 (6) 元組變量 ?在一個查詢過程中有時會涉及到同一關(guān)系的兩個(或幾個)元組。為了表示不同的元組,SQL允許在 FROM子句中為一個關(guān)系定義幾個元組變量。這樣,我們就能在 SELECT、WHERE等子句中,通過在屬性前冠以元組變量來引用同一關(guān)系不同元組的屬性值。 例如在 emp表中,我們要查詢職工王瑩的上級領(lǐng)導(dǎo)信息 SELECT eno,ename FROM emp WHERE ename=39。王瑩 39。 AND mgr=eno ; ? 為 emp表 定義兩個元組變量( e1,e2) SELECT , FROM emp e1,emp e2 WHERE =39。王瑩 39。 AND = ; (6) 元組變量 athlete運動員( name姓名 ,sex性別 ,group組 ) 查詢混雙選手名單。每行輸出一對選手,男在前,女在后。 SELECT man, woman FROM athlete a1,athlete a2 WHERE =39。男 39。 AND =39。女 39。 AND = ; 該例檢索結(jié)果如下: man woman 王濤 鄧亞萍 … … (6) 元組變量 交 差 并 (7) 集合運算 (7) 集合運算 select sno from sc where o=`c01` select sno from sc where o=`c02` 。 (交 ) union (并 ) minus (差 ) intersectc01 c02 查同時選修了 c01和 c02兩門課的學(xué)生 SELECT sno FROM sc where o=`c01` and o=`c02` 。 (7) 集合運算 ?例:查詢選修了 c0但沒有選修 c02的學(xué)生的學(xué)號: ( SELECT sno FROM sc WHERE o=39。c0139。) MINUS ( SELECT sno FROM sc WHERE o=39。c0239。); (7) 集合運算 例:假如外語只開設(shè)了英語和日語。查詢當前至少上著一門外語課的學(xué)生: (SELECT sno FROM sc,course WHERE ame=39。英語 39。AND = AND grade IS null ) UNION (SELECT sno FROM sc,course WHERE ame=39。日語 39。AND = AND grade IS null); (7) 集合運算 ?Select 語句必須選擇同樣數(shù)量的列。 ?相應(yīng)的列必須具有相同的類型。 ?重復(fù)的行將被自動去掉,不用 distinct ?第一個 select 語句中的列名出現(xiàn)在結(jié)果 ?Order by 子句可出現(xiàn)在語句的最后,且只能指定位置列。 (Select empno,empname,salary from worker ) union (select eno,ename,sal from emp ) order by 3 。 (8)查詢中的重值處理 我們的討論中存在這樣一個事實,即 SQL把關(guān)系當作一個 “ 袋子 ” 而不是一個集合。也就是說,一個元組在關(guān)系中可以出現(xiàn)若干次。 例如,我們要查詢一下所有的課程名: SELECT ame FROM course; 只需在關(guān)鍵字 SELECT 的后面加上關(guān)鍵字 DISTINCT即可。它告訴 SQL在結(jié)果關(guān)系中只產(chǎn)生元組的一份拷貝,因此可以保證結(jié)果中沒有重復(fù)值。 例如,上面提到的查詢可以寫成這樣: SELECT DISTINCT ame FROM course ; (8)查詢中的重值處理 ?在前面討論關(guān)系的集合運算 ,結(jié)果關(guān)系的重復(fù)值將會自動去掉。 ?但如果我們在集合運算符(如 UNION)的后面加上關(guān)鍵字 ALL,那結(jié)果關(guān)系又會具有 39。袋子 39。的效果,即不去掉重復(fù)值。 ?例如,查詢至少選修了 c01和 c02中一門課的學(xué)生 : ( SELECT sno FROM sc WHERE o=39。c0139。) UNION ALL ( SELECT sno FROM sc WHERE o=39。c0239。); (8)查詢中的重值處理 ?DISTINCT的使用是要付出代價的。因為要去掉重復(fù)值,必須對結(jié)果關(guān)系進行排序,相同的元組排在一起,只有按這種方法對元組分組,才能去掉重復(fù)值,而這一工作甚至比查詢本身還費時間。 ?聚合是把關(guān)系作為運算對象的另一類操作。這里所說的聚合操作就是對關(guān)系中一列的值進行統(tǒng)計工作,最終得到一個統(tǒng)計值。例如求職工的平均年齡,求職工的工資總額等。 ?常用 5種聚合的操作符: SUM — 對某列的值求和。 AVG — 求某列值的平均值。 MIN — 求某列值的最小值。 MAX — 求某列值的最大值。 COUNT — 統(tǒng)計某列值的個數(shù)(計數(shù))。 (9) 聚合操作 (9) 聚合操作 ?例:統(tǒng)計職工的工資總額: SELECT SUM( sal) FROM emp ; ?例:求職工的最高工資、最低工資和平均工資: SELECT MAX(sal), MIN(sal), AVG(sal) FROM emp ; ?例:求女學(xué)生的學(xué)生總數(shù): SELECT COUNT(*) FROM student WHERE sex=39。女 39。; (9) 聚合操作 ?查詢有多少名同學(xué)物理課不及格: SELECT COUNT(*) FROM sc,course WHERE ame=39。物理 39。 AND = AND grade60; ?將關(guān)系的元組按一定條件分組,然后對每一個組進行統(tǒng)計。 ?求每個系的學(xué)生數(shù)而不是求學(xué)生總數(shù)。希望得到下面的輸出: dno count(*) d01 120 d02 65 … … SELECT dno,count(*) FROM student GROUP BY dno ; d01 d01 d01 d01 d01 d01 23 d01 45 100 76 221 65 90 sum,max.. dno count (9) 聚合操作 分組統(tǒng)計 (9) 聚合操作 分組統(tǒng)計 ?查詢每個學(xué)生已獲得的學(xué)分(注:成績及格即取得相應(yīng)課程的學(xué)分): SELECT sno,sum(credit) FROM sc,course WHERE grade=60 AND = GROUP BY sno ; ?分組子句中可以指定多個用于分組的屬性。當按第一個屬性值分組后,每組再按第二個屬性值分組 … ,統(tǒng)計是對最小的
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1