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

正文內(nèi)容

sql是結(jié)構(gòu)化查詢語(yǔ)言structuredquerylanguage的縮-wenkub.com

2025-07-14 17:20 本頁(yè)面
   

【正文】 ?當(dāng)兩個(gè)子查詢結(jié)果的結(jié)構(gòu)完全一樣時(shí),可以對(duì)這兩個(gè)子查詢執(zhí)行并、交、差的操作。 SELECT SNAME FROM S WHERE NOT EXISTS ( SELECT * FROM C WHERE NOT EXISTS ( SELECT * FROM SC WHERE SC. SNO = S. SNO AND SC. CNO= C. CNO ) ) ?SQL2規(guī)定允許通過(guò)一個(gè)子查詢引用查詢結(jié)果的表,即在FROM子句中可以使用子查詢,其查詢的結(jié)果表稱為 導(dǎo)出關(guān)系( Derived Relation)。 ?任何一個(gè)帶全稱量詞的謂詞可以轉(zhuǎn)換為等價(jià)的帶存在量詞的謂詞: (?x) p ? ?( ? x (? p) ) 因此可以用雙嵌套 NOT EXISTS來(lái)實(shí)現(xiàn)帶全稱量詞的查詢,解決所謂的“ FOR ALL”問(wèn)題 . ?SQL也沒(méi)有“蘊(yùn)含 ( — )”邏輯運(yùn)算,但一個(gè)蘊(yùn)含謂詞可以等價(jià)轉(zhuǎn)化為 P—Q ? ? P∨ Q 例 8 查詢沒(méi)有選任何課程的學(xué)生的學(xué)號(hào)和姓名。相關(guān)子查詢要用到存在測(cè)試謂詞EXISTS和 NOT EXISTS,以及 ALL、 ANY( SOME)等。 如果滿足條件 , 則把該行放入父查詢的查詢結(jié)果集合中 。 ? 前面所講的子查詢均為普通子查詢 , 而本例中子查詢的查詢條件引用了父查詢表中的屬性值 ( T表的 TNO值 ) , 我們把這類查詢稱為 相關(guān)子查詢 ( Correlated Subquery) 。 SELECT DISTINCT TN FROM T WHERE 39。) AND DEPT != ?計(jì)算機(jī) ’ ?子查詢找到計(jì)算機(jī)系中所有教師的工資集合(1500,900); ?父查詢找到所有不是計(jì)算機(jī)系且工資高于 1500的教師姓名和工資 此查詢也可以寫成: SELECT TN, SAL FROM T WHERE SAL ( SELECT MAX( SAL ) FROM T WHERE DEPT = 39。) 例 5 找出成績(jī)?cè)?90分以上的學(xué)生的姓名 。) AND DEPT != ?計(jì)算機(jī) ’ ? 先執(zhí)行子查詢 , 利用庫(kù)函數(shù) MIN找到計(jì)算機(jī)系中所有教師的最低工資 ——900; ? 再執(zhí)行父查詢 , 查詢所有不是計(jì)算機(jī)系且工資高于 900的教師 。計(jì)算機(jī) 39。 例 3 查詢其他系中比計(jì)算機(jī)系某一教師工資高的教師的姓名和工資 。) ? 先執(zhí)行子查詢,找到講授課程號(hào)為 C5的教師號(hào),為一組值構(gòu)成的集合 (T2,T3,T5); ? 再執(zhí)行父查詢,其中 ANY的含義為 任意一個(gè) ,查詢教師號(hào)為T T T5的教師的姓名。) 2 . 返回一組值的子查詢 如果子查詢的返回值不止一個(gè) , 而是一個(gè)集合時(shí) , 則不能直接使用比較運(yùn)算符 , 可以在比較運(yùn)算符和子查詢之間插入ANY或 ALL。 ?在 WHERE子句中包含一個(gè)形如 SELECTFROMWHERE的查詢塊 , 此查詢塊稱為 子查詢 或 嵌套查詢 , 包含子查詢的語(yǔ)句稱為 父查詢 或 外部查詢 ?嵌套查詢 可以將一系列簡(jiǎn)單查詢構(gòu)成復(fù)雜查詢 , 增強(qiáng)查詢能力 ?子查詢的嵌套層次最多可達(dá)到 255層 , 以層層嵌套的方式構(gòu)造查詢充分體現(xiàn)了 SQL“結(jié)構(gòu)化 ” 的特點(diǎn) ?嵌套查詢?cè)趫?zhí)行時(shí) 由里向外 處理 , 每個(gè)子查詢是在上一級(jí)外部查詢處理之前完成 , 父查詢要用到子查詢的結(jié)果 嵌套查詢 1 . 返回一個(gè)值的子查詢 ?當(dāng)子查詢的返回值只有一個(gè)時(shí),可以使用比較運(yùn)算符( = , , , = , = , != )將父查詢和子查詢連接起來(lái)。 ( 3) 全外連接 ( Full Outer Join)。 外連接有 3類: ( 1) 左外連接 ( Left Outer Join)。劉偉 39。這實(shí)際上是同一表 T的自身連接 。 等值連接與非等值連接 ?方法 2: SELECT , TN, CNO FROM T INNER JOIN C ON = AND =?劉偉’ ?方法 3: SELECT , , FROM (SELECT TNO, CNO FROM C ) AS R1 INNER JOIN ( SELECT TNO , TN FROM T WHERE TN=?劉偉 ’ ) AS R2 ON = ?當(dāng)一個(gè)表與其自已進(jìn)行連接操作時(shí) , 稱為表的 自身連接 。 連接條件的一般格式為: [表名 1.] 列名 1 比較運(yùn)算符 [表名 2.] 列名 2 ?其中 ,比較運(yùn)算符主要有:= 、 > 、 < 、 >= 、 <= 、 ! = ?當(dāng)比較運(yùn)算符為 “ = “ 時(shí) , 稱為 等值連接 , 其他情況為非等值連接 。 ?表的連接方法有兩種: ?方法 1: 表之間滿足一定的條件的行進(jìn)行連接 , 此時(shí) FROM子句中指明進(jìn)行連接的表名 , WHERE子句指明連接的列名及其連接條件 。C5? ) ORDER BY SNO , SCORE DESC 例 3 求選課在三門以上且各門課程均及格的學(xué)生的學(xué)號(hào)及其總成績(jī) , 查詢結(jié)果按總成績(jī)降序列出 。C339。 ORDER BY SCORE DESC 例 2 查詢選修 C C C4或 C5課程的學(xué)號(hào) 、 課程號(hào)和成績(jī) , 查詢結(jié)果按學(xué)號(hào)升序排列 , 學(xué)號(hào)相同再按成績(jī)降序排列 。 ?WHERE子句作用于 基本表或視圖 , 從中選擇滿足條件的元組; ?HAVING子句作用于 組 , 選擇滿足條件的組 , 必須用于 GROUP BY子句之后 , 但 GROUP BY子句可沒(méi)有 HAVING子句 。 例 2 查詢選修兩門以上課程的學(xué)生學(xué)號(hào)和選課門數(shù) SELECT SNO, COUNT(*) AS SC_NUM FROM SC GROUP BY SNO HAVING COUNT(*) = 2 ? GROUP BY子句按 SNO的值分組 , 所有具有相同 SNO的元組為一組 , 對(duì)每一組使用函數(shù) COUNT進(jìn)行計(jì)算 , 統(tǒng)計(jì)出每位學(xué)生選課的門數(shù) 。 SELECT SNAME FROM S WHERE AGE > ( SELECT AVG(AGE) FROM S ) ?GROUP BY子句可以將查詢結(jié)果按屬性列或?qū)傩粤薪M合在 行的方向上進(jìn)行分組 , 每組在 屬性列 或 屬性列組合 上具有相同的值 。 例 4 求學(xué)校中共有多少個(gè)系 SELECT COUNT(DISTINCT DEPT) AS DeptNum FROM S ? 注意:加入關(guān)鍵字 DISTINCT 后表示消去重復(fù)行 , 可計(jì)算字段“ DEPT“不同值的數(shù)目 。 ? 注意:函數(shù) SUM和 AVG只能對(duì) 數(shù)值型 字段進(jìn)行計(jì)算。 ?SQL提供了許多 庫(kù)函數(shù) , 增強(qiáng)了基本檢索能力 。 ?通常沒(méi)有為一個(gè)列輸入值時(shí),該列的值就是空值。 例 8 查詢所有姓張的教師的教師姓名 。 SELECT SNO, CNO, SCORE FROM SC WHERE CNO=?C1? OR CNO= ?C2? ?利用“ NOT IN”可以查詢指定集合外的元組。 SELECT SNO FROM SC WHERE SCORE BETWEEN 90 AND 100 等價(jià)于 SELECT SNO FROM SC WHERE SCORE=90 AND SCORRE=100 例 5 查詢成績(jī)不在 90至 100之間的學(xué)生的學(xué)號(hào) 。 SELECT SNO, CNO, SCORE FROM SC WHERE SCORE85 2 多重條件查詢 ?當(dāng) WHERE子句需要指定一個(gè)以上的查詢條件時(shí) , 則需要使用邏輯運(yùn)算符 AND、 OR和 NOT將其連結(jié)成復(fù)合的邏輯表達(dá)式 。 例 4 查詢?nèi)w學(xué)生的姓名 、 學(xué)號(hào)和年齡 。 SELECT SNO, SN, AGE FROM S ?例 2 查詢學(xué)生的全部信息 。 ?如果有 GROUP子句 , 則將查詢結(jié)果按照 列名 1相同的值進(jìn)行分組 。 ④ 只能修改 NULL|NOT NULL約束,其它類型的約束在修改之前必須先刪除,然后再重新添加修改過(guò)的約束定義。 USE STUDENT ALTER TABLE S ADD CLASS_NO CHAR(6), ADDRESS CHAR(40) ? 注意:使用此方式增加的新列 自動(dòng)填充 NULL值 ,所以不能為增加的新列指定 NOT NULL約束 例 在 SC表中增加完整性約束定義,使 SCORE在 0100之間。 例 建立包含完整性定義的學(xué)生表 USE STUDENT CREATE TABLE S (SNO CHAR(6) PRIMARY KEY, SN CHAR(8) NOT NULL, AGE NUMERIC(2) NOT NULL CHECK (AGE BETWEEN 15 AND 50), SEX CHAR(2) DEFAULT 39。 USE STUDENT CREATE TABLE SC (SNO CHAR(5) NOT NULL CONSTRAINT S_FORE FOREIGN KEY REFERENCES S(SNO), CNO CHAR(5) NOT NULL CONSTRAINT C_FORE FOREIGN KEY REFERENCES C(CNO), SCORE NUMERIC(3), CONSTRAINT S_C_PRIM PRIMARY KEY (SNO,CNO))。 ( 4) FOREIGN KEY約束 ? FOREIGN KEY約束指定某一個(gè)列或一組列作為外部鍵,其中,包含外部鍵的表稱為 從表 ,包含外部鍵所引用的主鍵或唯一鍵的表稱 主表 。 ? PRIMARY KEY與 UNIQUE約束類似,通過(guò)建立唯一索引來(lái)保證基本表在主鍵列取值的唯一性,但它們之間存在著很大的 區(qū)別 : ?①在一個(gè)基本表中只能定義一個(gè) PRIMARY KEY約束,但可定義多個(gè) UNIQUE約束; ?②對(duì)于指定為 PRIMARY KEY的一個(gè)列或多個(gè)列的組合,其中任何一個(gè)列都不能出現(xiàn)空值,而對(duì)于 UNIQUE所約束的唯一鍵,則允許為空 。 其中 SN_UNIQ為指定的約束名稱,約束名稱可以省略 ? UNIQUE用于定義 表約束 時(shí),其語(yǔ)法格式如下: [CONSTRAINT 約束名 ] UNIQUE( 列名 [{,列名 }] ) 例 建立一個(gè) S表,定義 SN+SEX為唯一鍵。 ?UNIQUE用于定義 列約束 時(shí),其語(yǔ)法格式如下: [CONSTRAINT 約束名 ] UNIQUE ?在 SQL SERVER中 , 對(duì)于基本表的約束分為 列約束 和 表約束 。 ( 2) UNIQUE約束 ?UNIQUE約束用于指明基本表在某一列或多個(gè)列的組合上的取值必須唯一。 USE STUDENT CREATE TABLE S (SNO CHAR(10) CONSTRAINT S_CONS NOT NULL, SN VARCHAR(20) , AGE INT, SEX CHAR(2) DEFAULT ’男 ’ , DEPT VARCHAR(20) )。 表的建立和刪除 在 SQL SERVER中可以定義五種類型的完整性約束 , 下面分別加以介紹: ( 1) NULL/NOT NULL – 是否允許該字段的值為
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1