




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第4章 SQL 高級(jí)查詢技術(shù)授課教師:趙友杰計(jì)算機(jī)與信息學(xué)院 數(shù)據(jù)庫原理及應(yīng)用第4章 SQL 高級(jí)查詢技術(shù)4.1 關(guān)聯(lián)表查詢4.2 使用UNION子句4.3 子查詢4.4 連接查詢4.5 實(shí)用經(jīng)典SQL匯總第4章 SQL 高級(jí)查詢技術(shù)4.1 關(guān)聯(lián)表查詢4.1.1 雙表關(guān)聯(lián)查詢表之間的連接是通過相等的字段值連接起來的查詢稱為等值連接查詢。【例 4.1】 查詢學(xué)生基本信息和成績信息。SELECT *FROM StudInfo,StudScoreInfoWHERE StudInfo.StudNo=StudScoreInfo.StudNo【例 4.2】 查詢兩個(gè)表中的關(guān)心的字段信息。SELECT St
2、udInfo.StudNo,StudInfo.StudName,StudInfo.StudSex,StudScoreInfo.CourseID,StudScoreInfo.StudScoreFROM StudInfo,StudScoreInfoWHERE StudInfo.StudNo=StudScoreInfo.StudNo第4章 SQL 高級(jí)查詢技術(shù)【例 4.3】 使用表別名進(jìn)行雙表關(guān)聯(lián)查詢。SELECT S.StudNo,S.StudName,S.StudSex,SS.CourseID,SS.StudScoreFROM StudInfo S,StudScoreInfo AS SSWHER
3、E S.StudNo=SS.StudNo【例 4.4】 使用表別名、字段別名、邏輯運(yùn)算符AND 查詢滿足條件記錄。SELECT S.StudNo 學(xué)號(hào),S.StudName AS 姓名,性別=S.StudSex,SS.CourseID AS 課程編號(hào),成績=SS.StudScoreFROM StudInfo S,StudScoreInfo AS SSWHERE S.StudNo=SS.StudNo AND S.StudNo=20050319001第4章 SQL 高級(jí)查詢技術(shù)4.1.2 多表關(guān)聯(lián)查詢?cè)趯?shí)際應(yīng)用中,需要將多個(gè)數(shù)據(jù)表進(jìn)行關(guān)聯(lián)查詢。超過兩數(shù)據(jù)表的關(guān)聯(lián)查詢稱為多表關(guān)聯(lián)查詢?!纠?4.5】
4、 查詢學(xué)生基本信息、班級(jí)信息和成績信息。SELECT StudInfo.StudNo,StudName,StudSex,StudBirthDay,ClassInfo.ClassID,ClassName,CourseID,StudScoreFROM ClassInfo,StudInfo,StudScoreInfoWHERE ClassInfo.ClassID=StudInfo.ClassID AND StudInfo.StudNo=StudScoreInfo.StudNo第4章 SQL 高級(jí)查詢技術(shù)【例 4.6】 查詢學(xué)生基本信息、班級(jí)信息、課程信息和成績信息。SELECT S.StudNo,S
5、tudName,StudSex,StudBirthDay,C.ClassID,ClassName,CI.CourseID,CourseName, StudScoreFROM ClassInfo C,StudInfo S,CourseInfo CI,StudScoreInfo SIWHERE C.ClassID=S.ClassID AND S.StudNo=SI.StudNo AND CI.CourseID=SI.CourseID第4章 SQL 高級(jí)查詢技術(shù)4.1.3 關(guān)聯(lián)表統(tǒng)計(jì)【例 4.7】 統(tǒng)計(jì)各學(xué)生平均分,結(jié)果包含學(xué)號(hào)、姓名、平均分字段信息。SELECT S.StudNo,StudName
6、,AVG(StudScore) AS AvgScoreFROM StudInfo S,StudScoreInfo SIWHERE S.StudNo=SI.StudNoGROUP BY S.StudNo,StudName從上面的語句可以看出,首先將學(xué)生信息表和學(xué)生成績表通過學(xué)號(hào)進(jìn)行關(guān)聯(lián),因兩表中同時(shí)存在學(xué)號(hào)(StudNo)字段,所以這里為表指定了別名,然后以別名對(duì)學(xué)號(hào)字段限制。因使用了 GROUPBY 子句,所以只有 GROUP BY 后面的字段和聚合函數(shù)統(tǒng)計(jì)字段才能放在SELECT 子句后面。查詢結(jié)果要求顯示學(xué)號(hào)、姓名字段,所以必須將學(xué)號(hào)和姓名字段放在GROUP BY 子句后面。第4章 SQL
7、 高級(jí)查詢技術(shù)【例 4.8】 統(tǒng)計(jì)各學(xué)生平均分,結(jié)果包含學(xué)號(hào)、姓名、性別、班級(jí)名稱、最高分、最低分、課程門數(shù)、平均分字段信息。SELECT S.StudNo,StudName,StudSex,ClassName,MAX(StudScore) MaxScore,MIN(StudScore) MinScore,COUNT(*) CourseCount,AVG(StudScore) AS AvgScoreFROM ClassInfo C,StudInfo S,StudScoreInfo SIWHERE C.ClassID=S.ClassID AND S.StudNo=SI.StudNoGROUP B
8、Y S.StudNo,StudName,StudSex,ClassName第4章 SQL 高級(jí)查詢技術(shù)4.2 使用 UNION 子句UNION 運(yùn)算符將兩個(gè)或多個(gè)SELECT 語句的結(jié)果組合成一個(gè)結(jié)果集。使用UNION 組合的結(jié)果集都必須滿足下列條件: 具有相同的結(jié)構(gòu)。 字段數(shù)目相同。 結(jié)果集中相應(yīng)字段的數(shù)據(jù)類型必須兼容。注意: UNION 中的每一個(gè)查詢所涉及的列必須具有相同的列數(shù)、相同的數(shù)據(jù)類型,并以相同的順序出現(xiàn)。 最后結(jié)果集中的列名來自第一個(gè)SELECT 語句。 若UNION 中包含ORDER BY 子句,則將對(duì)最后的結(jié)果集排序。 在合并結(jié)果集時(shí),默認(rèn)從最后的結(jié)果集中刪除重復(fù)的行,除非
9、使用ALL 關(guān)鍵字。第4章 SQL 高級(jí)查詢技術(shù)UNION 運(yùn)算符的指定格式如下:SELECT 語句UNION ALLSELECT 語句【例 4.9】 Union 連接多個(gè)結(jié)果集。SELECT * FROM StudScoreInfo WHERE StudScore=60 AND StudScore=90 AND StudScore=90 AND StudScore=60 AND StudScore=80 AND StudScore=70 AND StudScore=60 AND StudScore70UNIONSELECT 不及格 AS 等級(jí),0,60) AS 分?jǐn)?shù)段,COUNT(*) AS
10、 人數(shù)FROM StudScoreInfoWHERE CourseID= A000001 AND StudScore60第4章 SQL 高級(jí)查詢技術(shù)4.3 子查詢4.3.1 子查詢的概念在SQL 語言中,當(dāng)一個(gè)查詢語句嵌套在另一個(gè)查詢的查詢條件之中時(shí)稱為嵌套查詢,又稱子查詢。嵌套查詢是指在一個(gè)外層查詢中包含有另一個(gè)內(nèi)層查詢,其中,外層查詢稱為主查詢,內(nèi)層查詢稱為子查詢。通常情況下,使用嵌套查詢中的子查詢先挑選出部分?jǐn)?shù)據(jù),以作為主查詢的數(shù)據(jù)來源或搜索條件。子查詢總是寫在圓括號(hào)中,任何允許使用表達(dá)式的地方都可以使用子查詢。 子查詢通常需要包括以下組件: 包含標(biāo)準(zhǔn)選擇列表組件的標(biāo)準(zhǔn)SELECT 查詢
11、。 包含一個(gè)或多個(gè)表或者視圖名的標(biāo)準(zhǔn)FROM 子句。 可選的WHERE 子句。 可選的GROUP BY 子句。 可選的HAVING 子句。第4章 SQL 高級(jí)查詢技術(shù) 子查詢的SELECT 語句通常使用圓括號(hào)括起來。 子查詢的SELECT 語句中不能包含COMPUTE 子句。 除非在子查詢中使用了 SET TOP 子句,否則子查詢中不能包含ORDER BY 子句。 子查詢可以嵌套在外部的SELECT、INSERT、UPDATE 或DELETE 語句的WHERE或HAVING 子句內(nèi),或者其他子查詢中 如果某個(gè)數(shù)據(jù)表只出現(xiàn)在子查詢中,而不出現(xiàn)在主查詢中,那么在數(shù)據(jù)列表中不能包含該數(shù)據(jù)表中的字段。
12、 包含子查詢的語句通常采用以下格式: WHERE 表達(dá)式 NOT IN(子查詢)。 WHERE 表達(dá)式 比較運(yùn)算符 ANY | ALL(子查詢)。 WHERE NOT EXISTS(子查詢)。子查詢是SQL 語句的擴(kuò)展其語句形式如下:SELECT FROM WHERE 表達(dá)式 SELECT FROM GROUP BY HAVING 比較運(yùn)算符第4章 SQL 高級(jí)查詢技術(shù)4.3.2 子查詢的應(yīng)用1. 使用 IN 關(guān)鍵字IN 關(guān)鍵字在大多數(shù)情況下應(yīng)用于嵌套查詢(也稱子查詢)中,通常首先使用SELECT語句選定一個(gè)范圍,然后將選定的范圍作為IN 關(guān)鍵字的符合條件的列表,從而得到最終的結(jié)果集。語法:t
13、est_expression NOT IN(subquery| expression ,.n )參數(shù): test_expression:是任何有效的Microsoft SQL Server表達(dá)式。 subquery:是包含某列結(jié)果集的子查詢。該列必須與test_expression 有相同的數(shù)據(jù)類型。 expression ,.n:一個(gè)表達(dá)式列表,用來測試是否匹配。所有的表達(dá)式必須和test_expression 具有相同的類型。第4章 SQL 高級(jí)查詢技術(shù)【例 4.12】 查詢課程成績有考滿分的學(xué)生信息。SELECT *FROM StudInfoWHERE StudNo IN (SELECT
14、 StudNoFROM StudScoreInfoWHERE StudScore=100 )【例 4.13】 查詢學(xué)生平均分大于80 的學(xué)生信息。SELECT * FROM StudInfoWHERE StudNo IN (SELECT StudNoFROM StudScoreInfoGROUP BY StudNoHAVING AVG(StudScore)80)第4章 SQL 高級(jí)查詢技術(shù)【例 4.14】 查詢重修10 門以上的學(xué)生信息。SELECT *FROM StudInfoWHERE StudNo IN (SELECT StudNoFROM StudScoreInfoWHERE Stud
15、Score=10)除了 IN 關(guān)鍵字外,還可以使用NOT IN 關(guān)鍵字來進(jìn)行列表查詢。NOT IN 的含義與IN關(guān)鍵字正好相反,查詢結(jié)果將返回不在列表范圍內(nèi)的所有記錄。第4章 SQL 高級(jí)查詢技術(shù)【例 4.15】 查詢班級(jí)人數(shù)低于20 人的班級(jí)信息。SELECT *FROM ClassInfoWHERE ClassID NOT IN(SELECT ClassIDFROM StudInfoGROUP BY ClassIDHAVING COUNT(*)=20)【例 4.16】 查詢同名同性別的學(xué)生信息,注意使用多字段連接子查詢。SELECT * FROM StudInfoWHERE StudNam
16、e+_+StudSex In(SELECT StudName+_+StudSexFROM StudInfoGROUP BY StudName,StudSexHAVING COUNT(*)1)第4章 SQL 高級(jí)查詢技術(shù)2. 使用比較運(yùn)算符使用子查詢進(jìn)行單值比較時(shí),需要注意以下幾點(diǎn): 返回單值子查詢,只返回一行一列。 主查詢與單值子查詢之間用比較運(yùn)算符進(jìn)行連接。 運(yùn)算符:、=、=、=、?!纠?4.17】 查詢課程編號(hào)為“B020101”且高于該門課程平均分的學(xué)生成績信息。SELECT *FROM StudScoreInfoWHERE CourseID=B020101 AND StudScore(
17、SELECT AVG(StudScore)FROM StudScoreInfoWHERE CourseID=B020101)第4章 SQL 高級(jí)查詢技術(shù)3. 使用 SOME/ANY 關(guān)鍵字SOME 的嵌套查詢是通過比較運(yùn)算符將一個(gè)表達(dá)式的值或列值與子查詢返回的一列值中的每一個(gè)進(jìn)行比較,如果哪行的比較結(jié)果為真,滿足條件就返回該行。ANY 和 SOME 關(guān)鍵字完全等價(jià)。語法:scalar_expression = | | != | | = | ! | | = | ! SOME | ANY ( subquery )參數(shù): scalar_expression:是任何有效的 Microsoft SQL
18、Server 表達(dá)式。 = | | != | | = | ! | | = | !ANY(SELECT StudScore FROM StudScoreInfo)-SOME 和ANY 等價(jià):SELECT * FROM StudScoreInfoWHERE StudScoreSOME(SELECT StudScore FROM StudScoreInfo)-使用單值比較運(yùn)算符,執(zhí)行結(jié)果與ANY、SOME 相同。SELECT * FROM StudScoreInfoWHERE StudScore(SELECT MIN(StudScore) FROM StudScoreInfo)第4章 SQL 高級(jí)查
19、詢技術(shù)4. 使用 ALL 關(guān)鍵字ALL 的嵌套查詢是把列值與子查詢結(jié)果進(jìn)行比較,但是它要求所有的列的查詢結(jié)果都為真,否則不返回行。語法:scalar_expression = | | != | | = | !| | = | ! ALL ( subquery )參數(shù): scalar_expression:是任何有效的 Microsoft SQL Server 表達(dá)式。 = | | != | | = | ! | | = | !=ALL(SELECT StudScore FROM StudScoreInfo)-使用單值比較運(yùn)算符,執(zhí)行結(jié)果與ALL 相同。SELECT * FROM StudScore
20、InfoWHERE StudScore=(SELECT MAX(StudScore) FROM StudScoreInfo)第4章 SQL 高級(jí)查詢技術(shù)5. 使用 EXISTS 關(guān)鍵字指定一個(gè)子查詢,檢測行的存在。EXISTS 搜索條件并不真正地使用子查詢的結(jié)果。它僅僅檢查子查詢是否返回了任何結(jié)果。因此EXISTS 謂詞子查詢中的SELECT 子句可用任意列名,或多個(gè)列名或用*號(hào)。語法:EXISTS subquery參數(shù): subquery:是一個(gè)受限的SELECT 語句(不允許有 COMPUTE 子句和 INTO 關(guān)鍵字)?!纠?4.20】 查詢學(xué)生課程成績存在考100 分的學(xué)生信息。SEL
21、ECT * FROM StudInfoWHERE EXISTS(SELECT * FROM StudScoreInfoWHERE StudScoreInfo.StudNo=StudInfo.StudNo AND StudScore=100)第4章 SQL 高級(jí)查詢技術(shù)4.4 連接查詢?nèi)绻粋€(gè)查詢需要對(duì)多個(gè)表進(jìn)行操作,就稱為連接查詢。連接查詢的結(jié)果集或結(jié)果表,稱為表之間的連接。連接查詢實(shí)際上是通過各個(gè)表之間共同列的關(guān)聯(lián)性來查詢數(shù)據(jù)的,它是關(guān)系數(shù)據(jù)庫查詢最主要的特征。連接查詢分為等值連接查詢、非等值連接查詢、自連接查詢、外部連接查詢和復(fù)合條件連接查詢。SQL-92 標(biāo)準(zhǔn)所定義的FROM 子句的連接
22、語法格式為:FROM join_table join_type join_tableON (join_condition)參數(shù): join_table:指出參與連接操作的表名,連接可以對(duì)同一個(gè)表操作,也可以對(duì)多表操作,對(duì)同一個(gè)表操作的連接又稱做自連接。 join_type:指出連接類型,可分為三種:內(nèi)連接、外連接和交叉連接。 ON (join_condition):連接操作中的 ON (join_condition) 子句指出連接條件,它由被連接表中的列和比較運(yùn)算符、邏輯運(yùn)算符等構(gòu)成。第4章 SQL 高級(jí)查詢技術(shù)4.4.1 內(nèi)連接查詢內(nèi)連接查詢(INNER JOIN)使用比較運(yùn)算符進(jìn)行表間某(
23、些)列數(shù)據(jù)的比較操作,并列出這些表中與連接條件相匹配的數(shù)據(jù)行。在內(nèi)連接查詢中,只有滿足連接條件的元組才能出現(xiàn)在結(jié)果關(guān)系中。根據(jù)所使用的比較方式不同,內(nèi)連接又分為等值連接、自然連接和非等值連接三種。1. 等值連接在連接條件中使用等于號(hào)(=)運(yùn)算符比較被連接列的列值,其查詢結(jié)果中列出被連接表中的所有列,包括其中的重復(fù)列。2. 非等值連接在連接條件使用除等于運(yùn)算符以外的其他比較運(yùn)算符比較被連接的列的列值。這些運(yùn)算符包括、=、=、!和。3. 自然連接在連接條件中使用等于(=)運(yùn)算符比較被連接列的列值,查詢所涉及的兩個(gè)關(guān)系模式有公共屬性,且公共屬性值相等,相同的公共屬性只在結(jié)果關(guān)系中出現(xiàn)一次。內(nèi)連接查詢
24、的語法如下:SELECT select_list FROM ,.n ON := INNER OUTER JOIN第4章 SQL 高級(jí)查詢技術(shù)【例 4.21】 查詢學(xué)生基本信息和成績信息。SELECT *FROM StudInfo INNER JOIN StudScoreInfoON StudInfo.StudNo=StudScoreInfo.StudNo【例 4.22】 查詢兩個(gè)表中的關(guān)心的字段信息。SELECT StudInfo.StudNo,StudInfo.StudName,StudInfo.StudSex,StudScoreInfo.CourseID,StudScoreInfo.Stu
25、dScoreFROM StudInfo INNER JOIN StudScoreInfoON StudInfo.StudNo=StudScoreInfo.StudNo【例 4.23】 查詢學(xué)生基本信息、班級(jí)信息和成績信息。SELECT StudInfo.StudNo,StudName,StudSex,StudBirthDay,ClassInfo.ClassID,ClassName,CourseID,StudScoreFROM ClassInfo INNER JOIN StudInfoON ClassInfo.ClassID=StudInfo.ClassIDINNER JOIN StudScor
26、eInfoON StudInfo.StudNo=StudScoreInfo.StudNo第4章 SQL 高級(jí)查詢技術(shù)【例 4.24】 查詢男學(xué)生基本信息、班級(jí)信息、課程信息和成績信息。SELECT StudInfo.StudNo,StudName,StudSex,StudBirthDay,ClassInfo.ClassID,ClassName,CourseInfo.CourseID,CourseName,CourseType,CourseCredit,StudScoreFROM ClassInfo INNER JOIN StudInfoON ClassInfo.ClassID=StudInfo
27、.ClassIDINNER JOIN StudScoreInfoON StudInfo.StudNo=StudScoreInfo.StudNoINNER JOIN CourseInfoON CourseInfo.CourseID=StudScoreInfo.CourseIDWHERE StudSex=男第4章 SQL 高級(jí)查詢技術(shù)4.4.2 外連接查詢外連接分為左連接(LEFT OUTER JOIN 或LEFT JOIN)、右連接(RIGHT OUTER JOIN或RIGHT JOIN)和全連接(FULL OUTER JOIN 或FULL JOIN)三種。與內(nèi)連接不同的是,外連接不只列出與連接
28、條件相匹配的行,而是列出左表(左外連接時(shí))、右表(右外連接時(shí))或兩個(gè)表(全外連接時(shí))中所有符合搜索條件的數(shù)據(jù)行。外連接的語法如下:SELECT select_list FROM ,.n ON := LEFT | RIGHT | FULL OUTER JOIN第4章 SQL 高級(jí)查詢技術(shù)1. 左連接左外連接的結(jié)果集包括LEFT JOIN 或LEFT OUTER JOIN 子句中指定的左表的所有行,而不僅僅是連接列所匹配的行。如果左表的某行在右表中沒有匹配行,則在相關(guān)聯(lián)的結(jié)果集行中右表的所有選擇列表列均為空值?!纠?4.25】 查詢所有的學(xué)生信息和學(xué)生成績信息。SELECT StudInfo.St
29、udNo,StudInfo.StudName,StudScoreInfo.CourseID,StudScoreInfo.StudScoreFROM StudInfo Left Outer Join StudScoreInfoON StudInfo.StudNo=StudScoreInfo.StudNo第4章 SQL 高級(jí)查詢技術(shù)2. 右連接右外連接使用RIGHT JOIN 或RIGHT OUTER JOIN 子句,是左向外連接的反向連接,將返回右表的所有行。如果右表的某行在左表中沒有匹配行,則將為左表返回空值。【例 4.26】 查詢所有的學(xué)生成績信息和學(xué)生信息。SELECT StudInfo.
30、StudNo,StudInfo.StudName,StudScoreInfo.CourseID,StudScoreInfo.StudScoreFROM StudInfo RIGHT Outer Join StudScoreInfoON StudInfo.StudNo=StudScoreInfo.StudNo第4章 SQL 高級(jí)查詢技術(shù)3. 全連接全連接使用FULL JOIN 或FULL OUTER JOIN 子句返回左表和右表中的所有行。當(dāng)某行在另一個(gè)表中沒有匹配行時(shí),則另一個(gè)表的選擇列表列包含空值。如果表之間有匹配行,則整個(gè)結(jié)果集行包含基表的數(shù)據(jù)值?!纠?4.27】 查詢所有的學(xué)生信息和所有
31、的學(xué)生成績信息。SELECT StudInfo.StudNo,StudInfo.StudName,StudScoreInfo.CourseID,StudScoreInfo.StudScoreFROM StudInfo Full Outer Join StudScoreInfoON StudInfo.StudNo=StudScoreInfo.StudNo第4章 SQL 高級(jí)查詢技術(shù)4.4.3 交叉連接查詢交叉連接(CROSS JOIN)沒有 WHERE 子句,它返回連接表中所有數(shù)據(jù)行的笛卡爾積,是指兩個(gè)關(guān)系中所有元組的任意組合,其結(jié)果集合中的數(shù)據(jù)行數(shù)等于第一個(gè)表中符合查詢條件的數(shù)據(jù)行數(shù)乘以第二個(gè)
32、表中符合查詢條件的數(shù)據(jù)行數(shù)。 如果兩個(gè)關(guān)系模式中有同名屬性,那么應(yīng)該在執(zhí)行查詢語句之前使用關(guān)系名限定同名的屬性。 如果兩個(gè)關(guān)系中的元組個(gè)數(shù)分別是 m 和n,那么結(jié)果關(guān)系中的元組個(gè)數(shù)是兩個(gè)關(guān)系中的元組個(gè)數(shù)的乘積,即m*n?!纠?4.28】 使用交叉連接查詢學(xué)生信息和班級(jí)信息。SELECT * FROM StudInfo Cross join ClassInfo-下面的語句與上面語句執(zhí)行結(jié)果相同SELECT * FROM StudInfo,ClassInfo第4章 SQL 高級(jí)查詢技術(shù)4.4.4 自連接查詢連接不僅可以在表之間進(jìn)行也可以使一個(gè)表同其自身進(jìn)行連接,這種連接稱為自連接(Self Joi
33、n),相應(yīng)的查詢稱為自連接查詢。在FROM 子句中可以給這個(gè)表取不同的別名,在語句的其他需要使用到該別名的地方用點(diǎn)來連接該別名和字段名。這里舉一個(gè)示例來介紹一下自連接的應(yīng)用。假設(shè)有一張行政區(qū)劃表,其數(shù)據(jù)表結(jié)構(gòu)如表 4.1 所示。第4章 SQL 高級(jí)查詢技術(shù)1. 使用CREATE TABLE 創(chuàng)建行政區(qū)劃表(Dic_Area)CREATE TABLE Dic_Area(Area_ID varchar(20) primary key,Area_Name varchar(30) not null,Parent_ID varchar(20)2. 使用 INSERT 語句添加記錄INSERT INTO
34、Dic_Area (Area_ID,Area_Name,Parent_ID) VALUES(53,云南省,0)INSERT INTO Dic_Area (Area_ID,Area_Name,Parent_ID) VALUES(5301,昆明市,53)INSERT INTO Dic_Area (Area_ID,Area_Name,Parent_ID) VALUES (5302,安寧市,53)INSERT INTO Dic_Area (Area_ID,Area_Name,Parent_ID) VALUES (530101,官渡區(qū),5301)INSERT INTO Dic_Area (Area_ID
35、,Area_Name,Parent_ID) VALUES (530102,盤龍區(qū),5301)第4章 SQL 高級(jí)查詢技術(shù)【例 4.29】 使用自連接查詢行政區(qū)劃的上下級(jí)關(guān)系,使用如下語句:SELECT p.Area_ID 上級(jí)編號(hào),p.Area_Name 上級(jí)名稱,d.Area_ID 下級(jí)編號(hào),d.Area_Name 下級(jí)名稱FROM Dic_Area p,Dic_Area dWHERE d.parent_id=p.area_id查詢結(jié)果如表 4.3 所示。第4章 SQL 高級(jí)查詢技術(shù)4.5 實(shí)用經(jīng)典 SQL 匯總4.5.1 復(fù)制部分表結(jié)構(gòu)【例 4.30】 使用 TOP 關(guān)鍵字。SELECT
36、TOP 0 StudNo,StudName,StudSex,ClassID INTO StudInfoBack FROM StudInfo【例 4.31】 使用WHERE 條件。SELECT StudNo,StudName,StudSex,ClassID INTO StudInfoBack FROM StudInfo WHERE11第4章 SQL 高級(jí)查詢技術(shù)4.5.2 批量插入記錄INSERT 語句完整形式如下:INSERT INTO tablenamecolumn_listVALUES (DEFAULT | constant_expression ,n)|DEFAULT VALUES|SE
37、LECT_statement|execute_statement【例 4.32】 將年齡最大的前10 個(gè)學(xué)生信息添加到表StudInfoBack 中。INSERT INTO StudInfoBackSELECT TOP 10 StudNo,姓名 + StudName, StudSex, ClassIDFROM StudInfoORDER BY StudBirthDay DESC第4章 SQL 高級(jí)查詢技術(shù)4.5.3 關(guān)聯(lián)更新表記錄【例 4.33】 使用學(xué)生信息表(StudInfo)中的姓名更新 StudInfoBack 信息表姓名字段。UPDATE StudInfoBackSET StudName=StudInfo.StudNameFROM StudInfoWHERE StudInfo.Stud
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 大興安嶺職業(yè)學(xué)院《韓語入門》2023-2024學(xué)年第一學(xué)期期末試卷
- 泉州信息工程學(xué)院《高層建筑與抗震設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 防水透氣膜施工方案
- 2025年中考數(shù)學(xué)幾何模型歸納訓(xùn)練:最值模型之瓜豆模型(原理)直線解讀與提分訓(xùn)練
- 生態(tài)板門套施工方案
- 柳州塑膠操場施工方案
- 污水池清理施工方案
- 普陀防腐地坪施工方案
- 蘇州安裝門禁施工方案
- 2025年國稅甘肅面試試題及答案
- 高校引進(jìn)博士述職報(bào)告
- 臨終關(guān)懷創(chuàng)業(yè)計(jì)劃書
- 【上市公司的財(cái)務(wù)風(fēng)險(xiǎn)的分析和防范:以三只松鼠為例10000字(論文)】
- 部編版小學(xué)語文四年級(jí)下冊(cè)教師教學(xué)用書(教學(xué)參考)完整版
- 小學(xué)教師專業(yè)發(fā)展與教學(xué)質(zhì)量提升
- 大跨度空間網(wǎng)架結(jié)構(gòu)分階段整體提升安裝技術(shù)研究與應(yīng)用
- 注射用頭孢比羅酯鈉-臨床藥品應(yīng)用解讀
- 農(nóng)業(yè)領(lǐng)域的服務(wù)禮儀
- 大學(xué)生心理健康教育教程 課件 第二章 大學(xué)生自我意識(shí)
- 公證知識(shí)宣傳材料
- 聚酯生產(chǎn)技術(shù) 聚酯主要設(shè)備介紹
評(píng)論
0/150
提交評(píng)論