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

正文內(nèi)容

數(shù)據(jù)庫原理與設(shè)計(jì)03關(guān)系數(shù)據(jù)語言sql(編輯修改稿)

2024-10-22 18:09 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 T SNO FROM ENROLLS WHERE GRADE> 90) Home 多表查詢 ?謂詞 IN的含義是 , 對(duì)于表 STUDENTS中的記錄 ,只有當(dāng)它的 SNO 在子查詢返回的 SNO表中時(shí) ,WHERE子句的值才為真 。 謂詞 ANY的含義是 ,如果所規(guī)定的運(yùn)算符 ( 這里是= ) 對(duì)于子查詢返回的結(jié)果集合中的任何一個(gè)值為真的話 ,WHERE子句的值就為真 。 ?如果子查詢只返回一行和一列 , 則稱為標(biāo)量子查詢 ( Scalar Subquery) ;如果子查詢只返回一行但多于一列 , 則稱為行子查詢 ( Row Subquery) ;如果子查詢返回多行和多列 , 則稱為表子查詢( Table Subquery) 。 Home 多表查詢 2. 連接查詢 所謂連接查詢 , 就是通過連接 , 使查詢的數(shù)據(jù)從多個(gè)表中檢索取得 。 例 查詢?nèi)繉W(xué)生的學(xué)生名和所學(xué)課程號(hào)及成績(jī) 。 SELECT SNAME, CNO, GRADE FROM STUDENTS, ENROLLS WHERE = 當(dāng)兩個(gè)列名相同時(shí) ( 如本例的 SNO) , 必須在其列名前加上所屬表的名字和一個(gè)圓點(diǎn) “ ”以示區(qū)別 。 表的連接除 “ = ” 外 , 還可用比較運(yùn)算符<> 、 > 、 >= 、< 、 <=以及 BETWEEN、 LIKE、 IN等謂詞 。 Home 多表查詢 例 找出籍貫為山西或河北,成績(jī)?yōu)?90分以上的學(xué)生的姓名、籍貫和成績(jī)。 SELECT SNAME, BPLACE, GRADE FROM STUDENTS, ENROLLS WHERE BPLACE IN (‘山西’,‘河北’ ) AND GRADE >= 90 AND = 當(dāng)構(gòu)造多表連接查詢命令時(shí),必須遵循兩條規(guī)則。第一,連接條件數(shù)正好比表數(shù)少 1(若有三個(gè)表,就有兩個(gè)連接條件 );第二,若一個(gè)表中的主關(guān)鍵字是由多個(gè)列組成,則對(duì)此主關(guān)鍵字中的每一個(gè)列都要有一個(gè)連接條件(也有少數(shù)例外情況)。 一般來說,連接查詢可以替換大多數(shù)的嵌套子查詢。 Home 多表查詢 3. FROM子句中的子查詢 SQL3規(guī)定允許通過一個(gè)子查詢引用查詢結(jié)果的表,即在FROM子句中可以使用子查詢,其查詢的結(jié)果表稱為導(dǎo)出關(guān)系( Derived Relation)。 例 查出課程成績(jī)?cè)?80分以上的女學(xué)生的姓名、課程名和成績(jī)。 SELECT SNAME,CNAME, GRADE FROM (SELECT SNAME, CNAME , GRADE FROM STUDENTS, ENROLLS,COURSES WHERE SEX= 39。女 39。) AS TEMP (SNAME, CNAME,GRADE) WHERE GRADE> 80 多表查詢 Home 表達(dá)式與函數(shù)的使用 1.算術(shù)表達(dá)式 算術(shù)表達(dá)式由算術(shù)運(yùn)算符+、-、 *、/與列名或數(shù)值常量所組成。 例 查詢各課程的學(xué)時(shí)數(shù)。 SELECT CNAME,COURSE_TIME=CREDIT*16 FROM COURSES Home 2.內(nèi)部函數(shù) 內(nèi)部函數(shù)( BuildIn Function) SQL標(biāo)準(zhǔn)中只使用 COUNT、 SUM、 AVG、 MAX、MIN函數(shù),稱之為聚集函數(shù)( Set Function)。 COUNT函數(shù)的結(jié)果是該列統(tǒng)計(jì)值的總數(shù)目, SUM函數(shù)求該列統(tǒng)計(jì)值之和, AVG函數(shù)求該列統(tǒng)計(jì)值之平均值, MAX函數(shù)求該列最大值, MIN函數(shù)求該列最小值。 例 找出教師的最小年齡。 SELECT MIN(AGE) FROM TEACHERS 表達(dá)式與函數(shù)的使用 Home 例 統(tǒng)計(jì)年齡小于等于 22歲的學(xué)生人數(shù)。 SELECT COUNT(*) FROM STUDENTS WHERE AGE = 22 例 找出學(xué)生的平均成績(jī)和所學(xué)課程門數(shù)。 SELECT SNO, AVG(GRADE), COURSES= COUNT(*) FROM ENROLLS GROUP BY SNO 純量函數(shù),如算術(shù)函數(shù) INTEGER(取整)、 SQRT(求平方根)、三角函數(shù) SIN、 COS 、字符串函數(shù) SUBSTRING(取子串)、 UPPER(大寫字符)以及日期型函數(shù)MONTHS_BETWEEN(月份差)等。這些函數(shù)都是針對(duì)某個(gè)列操作的,產(chǎn)生的結(jié)果是一個(gè)新的數(shù)據(jù)列。 表達(dá)式與函數(shù)的使用 Home 例 假設(shè)一個(gè)表 TT含有兩個(gè)列 A和 B,表的記錄為: 則查詢命令為: SELECT A, B, A*B, SQRT(B) FROM TT 產(chǎn)生的結(jié)果是: 表達(dá)式與函數(shù)的使用 Home 而使用聚集函數(shù)的查詢命令為: SELECT MIN(A), MIN(B), MIN(A*B), MIN(SQRT(B)) FROM TT 產(chǎn)生的結(jié)果是: 表達(dá)式與函數(shù)的使用 Home 例 找出年齡超過平均年齡的學(xué)生姓名。 SELECT SNAME FROM STUDENTS WHERE AGE > (SELECT AVG(AGE) FROM STUDENTS) 表達(dá)式與函數(shù)的使用 Home 3. GROUP BY 與 HAVING GROUP BY 子句把一個(gè)表按某一指定列(或一些列)上的值相等的原則分組,然后再對(duì)每組數(shù)據(jù)進(jìn)行規(guī)定的操作。 GROUP BY子句總是跟在 WHERE子句后面,當(dāng) WHERE子句缺省時(shí),它跟在 FROM子句后面。 HAVING子句常用于在計(jì)算出聚集之后對(duì)行的查詢進(jìn)行控制。 例 找出各課程的平均成績(jī),按課程號(hào)分組,且只選擇學(xué)生超過 3人的課程的成績(jī)。 SELECT CNO, AVG(GRADE), STUDENTS= COUNT(*) FROM ENROLLS GROUP BY CNO HAVING COUNT(*) = 3 表達(dá)式與函數(shù)的使用 Home 4.判斷 基本的 SQL條件是判斷,它表明了結(jié)果是 True、 False或Unknown的條件。 表達(dá)式與函數(shù)的使用 Home 謂詞 ALL、 ANY、 SOME的使用格式: <標(biāo)量表達(dá)式><比較運(yùn)算符> ALL | ANY | SOME(<表子查詢>) SELECT SNO, SNAME FROM STUDENTS WHERE SNO NOT IN (SELECT SNO FROM ENROLLS WHERE CNO=39。C139。) 或 SELECT SNO, SNAME FROM STUDENTS WHERE SNO ALL (SELECT SNO FROM ENROLLS WHERE CNO=39。C139。) 表達(dá)式與函數(shù)的使用 Home 相關(guān)子查詢 當(dāng)一個(gè)子查詢涉及到一個(gè)來自外部查詢的列時(shí),稱為相關(guān)子查詢( Correlated Subquery)。相關(guān)子查詢要用到存在測(cè)試謂詞 EXISTS和 NOT EXISTS,以及 ALL、 ANY( SOME)等。 例 查詢沒有選任何課程的學(xué)生的學(xué)號(hào)和姓名。 SELECT SNO, SNAME FROM STUDENTS WHERE NOT EXISTS (SELECT * FROM ENROLLS WHERE =) Home 例 查詢哪些課程只有男生選讀。 SELECT DISTINCT CNAME FROM COURSES C WHERE 39。男 39。 = ALL (SELECT SEX FROM ENROLLS, STUDENTS WHERE = AND =) 相關(guān)子查詢 Home 例 要求給出一張學(xué)生、籍貫列表,該表中的學(xué)生的籍貫省份,也是其他一些學(xué)生的籍貫省份。 SELECT SNAME, BPLACE FROM STUDENTS A WHERE EXISTS (SELECT * FROM STUDENTS B WHERE = AND ) 相關(guān)子查詢 Home 在 SQL中只有存在測(cè)試謂詞 EXISTS和 NOT EXISTS。 然而任何一個(gè)帶全稱量詞的謂詞可以轉(zhuǎn)換為等價(jià)的帶存在量詞的謂詞: (?x)p ? ?(?x (?p)) 可以用雙嵌套 NOT EXISTS來實(shí)現(xiàn)帶全稱量詞的查詢,解決所謂的“ FOR ALL”問題 ——查找所有與 B相關(guān)的 A。 相關(guān)子查詢 Home 例 找出選修了全部課程的學(xué)生的姓名。 本查詢可以改為:查詢這樣一些學(xué)生,沒有一門課程是他不選修的。 SELECT SNAME FROM STUDENTS WHERE NOT EXISTS (SELECT * FROM COURSES WHERE NOT EXISTS (SELECT * FROM ENROLLS WHERE = AND = )) 相關(guān)子查詢 Home 關(guān)系代數(shù)運(yùn)算 在 SQL2和 SQL3中提供了一些可以直接使用的關(guān)系代數(shù)運(yùn)算謂詞。 1. UNION、 INTERSECT、 EXCEPT ( 1) UNION 例 設(shè)有某商場(chǎng)工作人員的兩張表:營(yíng)業(yè)員表SP_SUBORD和營(yíng)銷經(jīng)理表 SP_MGR,其關(guān)系數(shù)據(jù)模式如下: SP_SUBORD (SALPERS_ID, SALPERS_NAME, MANAGER_ID, OFFICE) SP_MGR (SALPERS_ID, SALPERS_NAME, MANAGER_ID, OFFICE) 其中,屬性 SALPERS_ID為工作人員的編號(hào) , SALPERS_NAME為工作人員的姓名 , MANAGER_ID為所在部門經(jīng)理的編號(hào) , OFFICE為工作地點(diǎn)。 Home 若查詢?nèi)可虉?chǎng)工作人員,可以用下面的 SQL語句: (SELECT * FROM SP_SUBORD) UNION (SELECT * FROM SP_MGR) 或等價(jià)地用下面的 SQL語句: SELECT * FROM (TABLE SP_SUBORD UNION TABLE SP_MGR) 關(guān)系代
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1