[{"data":1,"prerenderedAt":2271},["ShallowReactive",2],{"note:cs\u002Fdb\u002F100+70\u002FDay09-数据库70题-综合22-33":3},{"id":4,"title":5,"body":6,"description":16,"extension":2265,"meta":2266,"navigation":1560,"path":2267,"seo":2268,"stem":2269,"__hash__":2270},"notes\u002Fsource\u002Fcs\u002Fdb\u002F100+70\u002FDay09-数据库70题-综合22-33.md","Day 09 - 数据库70题：综合题 22-33",{"type":7,"value":8,"toc":2217},"minimark",[9,13,17,22,44,49,52,57,61,63,68,72,74,79,83,85,90,94,96,101,105,107,112,116,118,123,130,134,136,141,144,148,161,165,167,172,176,178,183,187,189,331,342,346,349,352,440,443,504,507,623,630,634,693,696,756,760,795,798,816,821,825,899,902,932,935,939,943,952,956,976,980,989,999,1003,1005,1008,1066,1069,1112,1115,1144,1151,1196,1207,1211,1241,1248,1284,1288,1290,1292,1322,1324,1357,1361,1388,1392,1396,1428,1434,1438,1440,1442,1488,1490,1528,1531,1577,1579,1597,1604,1636,1639,1729,1744,1774,1777,1781,1783,1870,1872,1928,1931,1971,1974,1996,2000,2004,2024,2028,2068,2074,2078,2086,2089,2140,2147,2155,2210,2213],[10,11,5],"h1",{"id":12},"day-09-数据库70题综合题-22-33",[14,15,16],"p",{},"参考重点：教材第 2 章关系演算，第 3 章 SQL。SQL 均按 SQL Server 写法。",[18,19,21],"h2",{"id":20},"_22-对于上题的关系-sc-和-sc试用元组演算表达式表示查询","22. 对于上题的关系 S、C 和 SC，试用元组演算表达式表示查询。",[14,23,24,25,29,30,29,33,36,37,29,40,43],{},"使用谓词：",[26,27,28],"code",{},"S(s)","、",[26,31,32],{},"C(c)",[26,34,35],{},"SC(sc)","，属性写作 ",[26,38,39],{},"s.S#",[26,41,42],{},"c.C#"," 等。",[45,46,48],"h3",{"id":47},"_221-检索选修课程号为-k5-的学生学号和成绩","22.1 检索选修课程号为 K5 的学生学号和成绩。",[14,50,51],{},"答案：",[14,53,54],{},[26,55,56],{},"{ \u003Cx, g> | EXISTS sc (SC(sc) AND sc.C#='K5' AND x=sc.S# AND g=sc.GRADE) }",[45,58,60],{"id":59},"_222-检索选修课程号为-k8-的学生的学号和姓名","22.2 检索选修课程号为 K8 的学生的学号和姓名。",[14,62,51],{},[14,64,65],{},[26,66,67],{},"{ \u003Cx, n> | EXISTS s EXISTS sc (S(s) AND SC(sc) AND s.S#=sc.S# AND sc.C#='K8' AND x=s.S# AND n=s.SNAME) }",[45,69,71],{"id":70},"_223-检索选修课程名为c语言的学生学号和姓名","22.3 检索选修课程名为“C语言”的学生学号和姓名。",[14,73,51],{},[14,75,76],{},[26,77,78],{},"{ \u003Cx, n> | EXISTS s EXISTS c EXISTS sc (S(s) AND C(c) AND SC(sc) AND c.CNAME='C语言' AND sc.C#=c.C# AND s.S#=sc.S# AND x=s.S# AND n=s.SNAME) }",[45,80,82],{"id":81},"_224-检索选修课程号为-k1-或-k5-的学生学号","22.4 检索选修课程号为 K1 或 K5 的学生学号。",[14,84,51],{},[14,86,87],{},[26,88,89],{},"{ \u003Cx> | EXISTS sc (SC(sc) AND x=sc.S# AND (sc.C#='K1' OR sc.C#='K5')) }",[45,91,93],{"id":92},"_225-检索选修课程号为-k1-和-k5-的学生学号","22.5 检索选修课程号为 K1 和 K5 的学生学号。",[14,95,51],{},[14,97,98],{},[26,99,100],{},"{ \u003Cx> | EXISTS sc1 EXISTS sc2 (SC(sc1) AND SC(sc2) AND sc1.S#=x AND sc2.S#=x AND sc1.C#='K1' AND sc2.C#='K5') }",[45,102,104],{"id":103},"_226-检索不选修-k8-课程的学生姓名和年龄","22.6 检索不选修 K8 课程的学生姓名和年龄。",[14,106,51],{},[14,108,109],{},[26,110,111],{},"{ \u003Cn, a> | EXISTS s (S(s) AND n=s.SNAME AND a=s.AGE AND NOT EXISTS sc (SC(sc) AND sc.S#=s.S# AND sc.C#='K8')) }",[45,113,115],{"id":114},"_227-检索选修全部课程的学生姓名","22.7 检索选修全部课程的学生姓名。",[14,117,51],{},[14,119,120],{},[26,121,122],{},"{ \u003Cn> | EXISTS s (S(s) AND n=s.SNAME AND FORALL c (C(c) -> EXISTS sc (SC(sc) AND sc.S#=s.S# AND sc.C#=c.C#))) }",[14,124,125,126,129],{},"讲解：",[26,127,128],{},"FORALL c"," 表示对每一门课程，都存在该学生的选课记录。这是关系除法在元组演算中的表达。",[45,131,133],{"id":132},"_228-检索所选修课程包含-1-号学生所选课程的学生学号","22.8 检索所选修课程包含 1 号学生所选课程的学生学号。",[14,135,51],{},[14,137,138],{},[26,139,140],{},"{ \u003Cx> | EXISTS s (S(s) AND x=s.S# AND FORALL sc1 ((SC(sc1) AND sc1.S#='1') -> EXISTS sc2 (SC(sc2) AND sc2.S#=x AND sc2.C#=sc1.C#))) }",[14,142,143],{},"讲解：对 1 号学生选过的每一门课，结果学生 x 都必须也选过。",[18,145,147],{"id":146},"_23-对于上题的关系-sc-和-sc试用域演算表达式表示查询","23. 对于上题的关系 S、C 和 SC，试用域演算表达式表示查询。",[14,149,24,150,153,154,153,157,160],{},[26,151,152],{},"S(sno, sname, age, sex)","，",[26,155,156],{},"C(cno, cname, teacher)",[26,158,159],{},"SC(sno, cno, grade)","。",[45,162,164],{"id":163},"_231-检索选修课程号为-k5-的学生学号和成绩","23.1 检索选修课程号为 K5 的学生学号和成绩。",[14,166,51],{},[14,168,169],{},[26,170,171],{},"{ \u003Csno, grade> | SC(sno, 'K5', grade) }",[45,173,175],{"id":174},"_232-检索选修课程号为-k8-的学生学号和姓名","23.2 检索选修课程号为 K8 的学生学号和姓名。",[14,177,51],{},[14,179,180],{},[26,181,182],{},"{ \u003Csno, sname> | EXISTS age EXISTS sex EXISTS grade (S(sno, sname, age, sex) AND SC(sno, 'K8', grade)) }",[18,184,186],{"id":185},"_25-叙述使用-sql-语言实现各种关系运算的方法","25. 叙述使用 SQL 语言实现各种关系运算的方法。",[14,188,51],{},[190,191,192,205],"table",{},[193,194,195],"thead",{},[196,197,198,202],"tr",{},[199,200,201],"th",{},"关系运算",[199,203,204],{},"SQL Server 写法",[206,207,208,219,229,239,249,259,269,279,290,305],"tbody",{},[196,209,210,214],{},[211,212,213],"td",{},"选择",[211,215,216],{},[26,217,218],{},"WHERE",[196,220,221,224],{},[211,222,223],{},"投影",[211,225,226],{},[26,227,228],{},"SELECT 列名",[196,230,231,234],{},[211,232,233],{},"并",[211,235,236],{},[26,237,238],{},"UNION",[196,240,241,244],{},[211,242,243],{},"差",[211,245,246],{},[26,247,248],{},"EXCEPT",[196,250,251,254],{},[211,252,253],{},"交",[211,255,256],{},[26,257,258],{},"INTERSECT",[196,260,261,264],{},[211,262,263],{},"笛卡尔积",[211,265,266],{},[26,267,268],{},"CROSS JOIN",[196,270,271,274],{},[211,272,273],{},"连接",[211,275,276],{},[26,277,278],{},"JOIN ... ON ...",[196,280,281,284],{},[211,282,283],{},"重命名",[211,285,286,287],{},"表别名、列别名，如 ",[26,288,289],{},"AS",[196,291,292,295],{},[211,293,294],{},"除法",[211,296,297,298,301,302],{},"双重 ",[26,299,300],{},"NOT EXISTS"," 或 ",[26,303,304],{},"GROUP BY ... HAVING",[196,306,307,310],{},[211,308,309],{},"聚集",[211,311,312,29,315,29,318,29,321,29,324,327,328],{},[26,313,314],{},"COUNT",[26,316,317],{},"SUM",[26,319,320],{},"AVG",[26,322,323],{},"MAX",[26,325,326],{},"MIN"," 与 ",[26,329,330],{},"GROUP BY",[14,332,333,334,337,338,341],{},"讲解：SQL Server 没有教材中某些系统的 ",[26,335,336],{},"NATURAL JOIN","，自然连接要显式写 ",[26,339,340],{},"JOIN ... ON"," 并选择需要的列。",[18,343,345],{"id":344},"_26-设有关系-abab试用-sql-写查询并给出结果","26. 设有关系 A、B、AB，试用 SQL 写查询并给出结果。",[14,347,348],{},"题面关系：",[14,350,351],{},"A",[190,353,354,370],{},[193,355,356],{},[196,357,358,361,364,367],{},[199,359,360],{},"A#",[199,362,363],{},"ANAME",[199,365,366],{},"WQTY",[199,368,369],{},"CITY",[206,371,372,386,400,413,426],{},[196,373,374,377,380,383],{},[211,375,376],{},"101",[211,378,379],{},"韶山商店",[211,381,382],{},"15",[211,384,385],{},"长沙",[196,387,388,391,394,397],{},[211,389,390],{},"204",[211,392,393],{},"前门百货商店",[211,395,396],{},"89",[211,398,399],{},"北京",[196,401,402,405,408,411],{},[211,403,404],{},"256",[211,406,407],{},"东风商店",[211,409,410],{},"501",[211,412,399],{},[196,414,415,418,421,424],{},[211,416,417],{},"345",[211,419,420],{},"铁道商店",[211,422,423],{},"76",[211,425,385],{},[196,427,428,431,434,437],{},[211,429,430],{},"620",[211,432,433],{},"第一百货公司",[211,435,436],{},"413",[211,438,439],{},"上海",[14,441,442],{},"B",[190,444,445,458],{},[193,446,447],{},[196,448,449,452,455],{},[199,450,451],{},"B#",[199,453,454],{},"BNAME",[199,456,457],{},"PRICE",[206,459,460,471,482,493],{},[196,461,462,465,468],{},[211,463,464],{},"1",[211,466,467],{},"毛笔",[211,469,470],{},"21",[196,472,473,476,479],{},[211,474,475],{},"2",[211,477,478],{},"羽毛球",[211,480,481],{},"784",[196,483,484,487,490],{},[211,485,486],{},"3",[211,488,489],{},"收音机",[211,491,492],{},"1325",[196,494,495,498,501],{},[211,496,497],{},"4",[211,499,500],{},"书包",[211,502,503],{},"242",[14,505,506],{},"AB",[190,508,509,520],{},[193,510,511],{},[196,512,513,515,517],{},[199,514,360],{},[199,516,451],{},[199,518,519],{},"QTY",[206,521,522,531,540,549,558,567,577,586,595,604,613],{},[196,523,524,526,528],{},[211,525,376],{},[211,527,464],{},[211,529,530],{},"105",[196,532,533,535,537],{},[211,534,376],{},[211,536,475],{},[211,538,539],{},"42",[196,541,542,544,546],{},[211,543,376],{},[211,545,486],{},[211,547,548],{},"25",[196,550,551,553,555],{},[211,552,376],{},[211,554,497],{},[211,556,557],{},"104",[196,559,560,562,564],{},[211,561,390],{},[211,563,486],{},[211,565,566],{},"61",[196,568,569,572,574],{},[211,570,571],{},"206",[211,573,464],{},[211,575,576],{},"241",[196,578,579,581,583],{},[211,580,571],{},[211,582,475],{},[211,584,585],{},"91",[196,587,588,590,592],{},[211,589,417],{},[211,591,464],{},[211,593,594],{},"141",[196,596,597,599,601],{},[211,598,417],{},[211,600,475],{},[211,602,603],{},"18",[196,605,606,608,610],{},[211,607,417],{},[211,609,497],{},[211,611,612],{},"74",[196,614,615,618,620],{},[211,616,617],{},"602",[211,619,497],{},[211,621,622],{},"125",[14,624,625,626,629],{},"注意：原表中 ",[26,627,628],{},"AB.A#"," 出现 206 和 602，但 A 表没有这两个商店；题目第 3 问又说“代号为 256 的商店”。按常见教材题意，206 很可能是 256 的误写。下面 SQL 按题意写，结果说明会标注假设。",[45,631,633],{"id":632},"_261-找出店员人数不超过-100-人或者在长沙的所有商店的代号和商品名","26.1 找出店员人数不超过 100 人或者在长沙的所有商店的代号和商品名。",[635,636,641],"pre",{"className":637,"code":638,"language":639,"meta":640,"style":640},"language-sql shiki shiki-themes github-light github-dark","SELECT DISTINCT a.[A#], b.BName\nFROM dbo.A AS a\nJOIN dbo.AB AS ab\n  ON ab.[A#] = a.[A#]\nJOIN dbo.B AS b\n  ON b.[B#] = ab.[B#]\nWHERE a.WQty \u003C= 100\n   OR a.City = N'长沙';\n","sql","",[26,642,643,651,657,663,669,675,681,687],{"__ignoreMap":640},[644,645,648],"span",{"class":646,"line":647},"line",1,[644,649,650],{},"SELECT DISTINCT a.[A#], b.BName\n",[644,652,654],{"class":646,"line":653},2,[644,655,656],{},"FROM dbo.A AS a\n",[644,658,660],{"class":646,"line":659},3,[644,661,662],{},"JOIN dbo.AB AS ab\n",[644,664,666],{"class":646,"line":665},4,[644,667,668],{},"  ON ab.[A#] = a.[A#]\n",[644,670,672],{"class":646,"line":671},5,[644,673,674],{},"JOIN dbo.B AS b\n",[644,676,678],{"class":646,"line":677},6,[644,679,680],{},"  ON b.[B#] = ab.[B#]\n",[644,682,684],{"class":646,"line":683},7,[644,685,686],{},"WHERE a.WQty \u003C= 100\n",[644,688,690],{"class":646,"line":689},8,[644,691,692],{},"   OR a.City = N'长沙';\n",[14,694,695],{},"按原表中能与 A 表连接上的记录，结果为：",[190,697,698,706],{},[193,699,700],{},[196,701,702,704],{},[199,703,360],{},[199,705,454],{},[206,707,708,714,720,726,732,738,744,750],{},[196,709,710,712],{},[211,711,376],{},[211,713,467],{},[196,715,716,718],{},[211,717,376],{},[211,719,478],{},[196,721,722,724],{},[211,723,376],{},[211,725,489],{},[196,727,728,730],{},[211,729,376],{},[211,731,500],{},[196,733,734,736],{},[211,735,390],{},[211,737,489],{},[196,739,740,742],{},[211,741,417],{},[211,743,467],{},[196,745,746,748],{},[211,747,417],{},[211,749,478],{},[196,751,752,754],{},[211,753,417],{},[211,755,500],{},[45,757,759],{"id":758},"_262-找出供应书包的商店名","26.2 找出供应书包的商店名。",[635,761,763],{"className":637,"code":762,"language":639,"meta":640,"style":640},"SELECT DISTINCT a.AName\nFROM dbo.A AS a\nJOIN dbo.AB AS ab\n  ON ab.[A#] = a.[A#]\nJOIN dbo.B AS b\n  ON b.[B#] = ab.[B#]\nWHERE b.BName = N'书包';\n",[26,764,765,770,774,778,782,786,790],{"__ignoreMap":640},[644,766,767],{"class":646,"line":647},[644,768,769],{},"SELECT DISTINCT a.AName\n",[644,771,772],{"class":646,"line":653},[644,773,656],{},[644,775,776],{"class":646,"line":659},[644,777,662],{},[644,779,780],{"class":646,"line":665},[644,781,668],{},[644,783,784],{"class":646,"line":671},[644,785,674],{},[644,787,788],{"class":646,"line":677},[644,789,680],{},[644,791,792],{"class":646,"line":683},[644,793,794],{},"WHERE b.BName = N'书包';\n",[14,796,797],{},"结果：",[190,799,800,806],{},[193,801,802],{},[196,803,804],{},[199,805,363],{},[206,807,808,812],{},[196,809,810],{},[211,811,379],{},[196,813,814],{},[211,815,420],{},[14,817,125,818,820],{},[26,819,617],{}," 在 A 表中没有对应商店，所以按内连接不会出现在结果中。",[45,822,824],{"id":823},"_263-找出至少供应代号为-256-的商店所供应的全部商品的商店名和所在城市","26.3 找出至少供应代号为 256 的商店所供应的全部商品的商店名和所在城市。",[635,826,828],{"className":637,"code":827,"language":639,"meta":640,"style":640},"SELECT a.AName, a.City\nFROM dbo.A AS a\nWHERE NOT EXISTS (\n    SELECT 1\n    FROM dbo.AB AS base_ab\n    WHERE base_ab.[A#] = 256\n      AND NOT EXISTS (\n          SELECT 1\n          FROM dbo.AB AS ab\n          WHERE ab.[A#] = a.[A#]\n            AND ab.[B#] = base_ab.[B#]\n      )\n);\n",[26,829,830,835,839,844,849,854,859,864,869,875,881,887,893],{"__ignoreMap":640},[644,831,832],{"class":646,"line":647},[644,833,834],{},"SELECT a.AName, a.City\n",[644,836,837],{"class":646,"line":653},[644,838,656],{},[644,840,841],{"class":646,"line":659},[644,842,843],{},"WHERE NOT EXISTS (\n",[644,845,846],{"class":646,"line":665},[644,847,848],{},"    SELECT 1\n",[644,850,851],{"class":646,"line":671},[644,852,853],{},"    FROM dbo.AB AS base_ab\n",[644,855,856],{"class":646,"line":677},[644,857,858],{},"    WHERE base_ab.[A#] = 256\n",[644,860,861],{"class":646,"line":683},[644,862,863],{},"      AND NOT EXISTS (\n",[644,865,866],{"class":646,"line":689},[644,867,868],{},"          SELECT 1\n",[644,870,872],{"class":646,"line":871},9,[644,873,874],{},"          FROM dbo.AB AS ab\n",[644,876,878],{"class":646,"line":877},10,[644,879,880],{},"          WHERE ab.[A#] = a.[A#]\n",[644,882,884],{"class":646,"line":883},11,[644,885,886],{},"            AND ab.[B#] = base_ab.[B#]\n",[644,888,890],{"class":646,"line":889},12,[644,891,892],{},"      )\n",[644,894,896],{"class":646,"line":895},13,[644,897,898],{},");\n",[14,900,901],{},"如果把原表中的 206 按题意修正为 256，则 256 供应商品 1 和 2，结果为：",[190,903,904,912],{},[193,905,906],{},[196,907,908,910],{},[199,909,363],{},[199,911,369],{},[206,913,914,920,926],{},[196,915,916,918],{},[211,917,379],{},[211,919,385],{},[196,921,922,924],{},[211,923,407],{},[211,925,399],{},[196,927,928,930],{},[211,929,420],{},[211,931,385],{},[14,933,934],{},"讲解：这是除法查询。逻辑是“不存在 256 供应的某个商品，而当前商店没有供应它”。",[18,936,938],{"id":937},"_27-有图书登记表-tsbno-bc-bna-au-pub按要求用-sql-语句设计","27. 有图书登记表 TS(BNO, BC, BNA, AU, PUB)，按要求用 SQL 语句设计。",[45,940,942],{"id":941},"_27a-按图书编号-bno-建立-ts-表的索引-its","27.a 按图书编号 BNO 建立 TS 表的索引 ITS。",[635,944,946],{"className":637,"code":945,"language":639,"meta":640,"style":640},"CREATE INDEX ITS ON dbo.TS(BNO);\n",[26,947,948],{"__ignoreMap":640},[644,949,950],{"class":646,"line":647},[644,951,945],{},[45,953,955],{"id":954},"_27b-查找按出版社统计其出版图书总数","27.b 查找按出版社统计其出版图书总数。",[635,957,959],{"className":637,"code":958,"language":639,"meta":640,"style":640},"SELECT PUB, COUNT(*) AS BookCount\nFROM dbo.TS\nGROUP BY PUB;\n",[26,960,961,966,971],{"__ignoreMap":640},[644,962,963],{"class":646,"line":647},[644,964,965],{},"SELECT PUB, COUNT(*) AS BookCount\n",[644,967,968],{"class":646,"line":653},[644,969,970],{},"FROM dbo.TS\n",[644,972,973],{"class":646,"line":659},[644,974,975],{},"GROUP BY PUB;\n",[45,977,979],{"id":978},"_27c-删除索引-its","27.c 删除索引 ITS。",[635,981,983],{"className":637,"code":982,"language":639,"meta":640,"style":640},"DROP INDEX ITS ON dbo.TS;\n",[26,984,985],{"__ignoreMap":640},[644,986,987],{"class":646,"line":647},[644,988,982],{},[14,990,991,992,995,996,160],{},"讲解：SQL Server 删除索引的语法是 ",[26,993,994],{},"DROP INDEX 索引名 ON 表名","，不同于 Oracle 的 ",[26,997,998],{},"DROP INDEX 索引名",[18,1000,1002],{"id":1001},"_28-已知三个关系-rs-和-t试用-sql-建立视图并分组求平均值","28. 已知三个关系 R、S 和 T，试用 SQL 建立视图并分组求平均值。",[14,1004,348],{},[14,1006,1007],{},"R",[190,1009,1010,1021],{},[193,1011,1012],{},[196,1013,1014,1016,1018],{},[199,1015,351],{},[199,1017,442],{},[199,1019,1020],{},"C",[206,1022,1023,1034,1045,1055],{},[196,1024,1025,1028,1031],{},[211,1026,1027],{},"a1",[211,1029,1030],{},"b1",[211,1032,1033],{},"20",[196,1035,1036,1039,1042],{},[211,1037,1038],{},"a2",[211,1040,1041],{},"b3",[211,1043,1044],{},"22",[196,1046,1047,1050,1053],{},[211,1048,1049],{},"a3",[211,1051,1052],{},"b2",[211,1054,603],{},[196,1056,1057,1060,1063],{},[211,1058,1059],{},"a4",[211,1061,1062],{},"b4",[211,1064,1065],{},"12",[14,1067,1068],{},"S",[190,1070,1071,1083],{},[193,1072,1073],{},[196,1074,1075,1077,1080],{},[199,1076,351],{},[199,1078,1079],{},"D",[199,1081,1082],{},"E",[206,1084,1085,1094,1103],{},[196,1086,1087,1089,1092],{},[211,1088,1027],{},[211,1090,1091],{},"d1",[211,1093,382],{},[196,1095,1096,1098,1101],{},[211,1097,1038],{},[211,1099,1100],{},"d2",[211,1102,603],{},[196,1104,1105,1107,1109],{},[211,1106,1027],{},[211,1108,1100],{},[211,1110,1111],{},"24",[14,1113,1114],{},"T",[190,1116,1117,1126],{},[193,1118,1119],{},[196,1120,1121,1123],{},[199,1122,1079],{},[199,1124,1125],{},"F",[206,1127,1128,1136],{},[196,1129,1130,1133],{},[211,1131,1132],{},"D2",[211,1134,1135],{},"f2",[196,1137,1138,1141],{},[211,1139,1140],{},"d3",[211,1142,1143],{},"f3",[45,1145,1147,1148,160],{"id":1146},"_281-将-rst-按关联属性建立视图-r-s-t","28.1 将 R、S、T 按关联属性建立视图 ",[26,1149,1150],{},"R-S-T",[635,1152,1154],{"className":637,"code":1153,"language":639,"meta":640,"style":640},"CREATE VIEW dbo.[R-S-T]\nAS\nSELECT r.A, r.B, r.C, s.D, s.E, t.F\nFROM dbo.R AS r\nJOIN dbo.S AS s\n  ON s.A = r.A\nJOIN dbo.T AS t\n  ON t.D = s.D;\n",[26,1155,1156,1161,1166,1171,1176,1181,1186,1191],{"__ignoreMap":640},[644,1157,1158],{"class":646,"line":647},[644,1159,1160],{},"CREATE VIEW dbo.[R-S-T]\n",[644,1162,1163],{"class":646,"line":653},[644,1164,1165],{},"AS\n",[644,1167,1168],{"class":646,"line":659},[644,1169,1170],{},"SELECT r.A, r.B, r.C, s.D, s.E, t.F\n",[644,1172,1173],{"class":646,"line":665},[644,1174,1175],{},"FROM dbo.R AS r\n",[644,1177,1178],{"class":646,"line":671},[644,1179,1180],{},"JOIN dbo.S AS s\n",[644,1182,1183],{"class":646,"line":677},[644,1184,1185],{},"  ON s.A = r.A\n",[644,1187,1188],{"class":646,"line":683},[644,1189,1190],{},"JOIN dbo.T AS t\n",[644,1192,1193],{"class":646,"line":689},[644,1194,1195],{},"  ON t.D = s.D;\n",[14,1197,1198,1199,1201,1202,1204,1205,160],{},"讲解：题中 T 表第一行写作 ",[26,1200,1132],{},"，而 S 表为 ",[26,1203,1100],{},"。SQL Server 默认排序规则通常大小写不敏感，若数据库使用大小写敏感排序规则，需要统一为 ",[26,1206,1100],{},[45,1208,1210],{"id":1209},"_282-对视图按-a-分组求-c-和-e-的平均值","28.2 对视图按 A 分组，求 C 和 E 的平均值。",[635,1212,1214],{"className":637,"code":1213,"language":639,"meta":640,"style":640},"SELECT A,\n       AVG(CAST(C AS decimal(10, 2))) AS AvgC,\n       AVG(CAST(E AS decimal(10, 2))) AS AvgE\nFROM dbo.[R-S-T]\nGROUP BY A;\n",[26,1215,1216,1221,1226,1231,1236],{"__ignoreMap":640},[644,1217,1218],{"class":646,"line":647},[644,1219,1220],{},"SELECT A,\n",[644,1222,1223],{"class":646,"line":653},[644,1224,1225],{},"       AVG(CAST(C AS decimal(10, 2))) AS AvgC,\n",[644,1227,1228],{"class":646,"line":659},[644,1229,1230],{},"       AVG(CAST(E AS decimal(10, 2))) AS AvgE\n",[644,1232,1233],{"class":646,"line":665},[644,1234,1235],{},"FROM dbo.[R-S-T]\n",[644,1237,1238],{"class":646,"line":671},[644,1239,1240],{},"GROUP BY A;\n",[14,1242,1243,1244,1247],{},"在大小写不敏感且 ",[26,1245,1246],{},"D2=d2"," 的假设下，结果为：",[190,1249,1250,1262],{},[193,1251,1252],{},[196,1253,1254,1256,1259],{},[199,1255,351],{},[199,1257,1258],{},"AvgC",[199,1260,1261],{},"AvgE",[206,1263,1264,1274],{},[196,1265,1266,1268,1271],{},[211,1267,1027],{},[211,1269,1270],{},"20.00",[211,1272,1273],{},"24.00",[196,1275,1276,1278,1281],{},[211,1277,1038],{},[211,1279,1280],{},"22.00",[211,1282,1283],{},"18.00",[18,1285,1287],{"id":1286},"_29-设有关系-r-和-s试用-sql-实现查询和更新","29. 设有关系 R 和 S，试用 SQL 实现查询和更新。",[14,1289,348],{},[14,1291,1007],{},[190,1293,1294,1302],{},[193,1295,1296],{},[196,1297,1298,1300],{},[199,1299,351],{},[199,1301,442],{},[206,1303,1304,1310,1316],{},[196,1305,1306,1308],{},[211,1307,1027],{},[211,1309,1030],{},[196,1311,1312,1314],{},[211,1313,1038],{},[211,1315,1052],{},[196,1317,1318,1320],{},[211,1319,1049],{},[211,1321,1041],{},[14,1323,1068],{},[190,1325,1326,1334],{},[193,1327,1328],{},[196,1329,1330,1332],{},[199,1331,351],{},[199,1333,1020],{},[206,1335,1336,1343,1350],{},[196,1337,1338,1340],{},[211,1339,1027],{},[211,1341,1342],{},"40",[196,1344,1345,1347],{},[211,1346,1038],{},[211,1348,1349],{},"50",[196,1351,1352,1354],{},[211,1353,1049],{},[211,1355,1356],{},"55",[45,1358,1360],{"id":1359},"_291-查询属性-c-50-时r-中与之相关联的属性-b-之值","29.1 查询属性 C > 50 时，R 中与之相关联的属性 B 之值。",[635,1362,1364],{"className":637,"code":1363,"language":639,"meta":640,"style":640},"SELECT r.B\nFROM dbo.R AS r\nJOIN dbo.S AS s\n  ON s.A = r.A\nWHERE s.C > 50;\n",[26,1365,1366,1371,1375,1379,1383],{"__ignoreMap":640},[644,1367,1368],{"class":646,"line":647},[644,1369,1370],{},"SELECT r.B\n",[644,1372,1373],{"class":646,"line":653},[644,1374,1175],{},[644,1376,1377],{"class":646,"line":659},[644,1378,1180],{},[644,1380,1381],{"class":646,"line":665},[644,1382,1185],{},[644,1384,1385],{"class":646,"line":671},[644,1386,1387],{},"WHERE s.C > 50;\n",[14,1389,797,1390,160],{},[26,1391,1041],{},[45,1393,1395],{"id":1394},"_292-当属性-c-40-时将-r-中与之相关联的属性-b-值修改为-b4","29.2 当属性 C = 40 时，将 R 中与之相关联的属性 B 值修改为 B4。",[635,1397,1399],{"className":637,"code":1398,"language":639,"meta":640,"style":640},"UPDATE r\nSET B = 'B4'\nFROM dbo.R AS r\nJOIN dbo.S AS s\n  ON s.A = r.A\nWHERE s.C = 40;\n",[26,1400,1401,1406,1411,1415,1419,1423],{"__ignoreMap":640},[644,1402,1403],{"class":646,"line":647},[644,1404,1405],{},"UPDATE r\n",[644,1407,1408],{"class":646,"line":653},[644,1409,1410],{},"SET B = 'B4'\n",[644,1412,1413],{"class":646,"line":659},[644,1414,1175],{},[644,1416,1417],{"class":646,"line":665},[644,1418,1180],{},[644,1420,1421],{"class":646,"line":671},[644,1422,1185],{},[644,1424,1425],{"class":646,"line":677},[644,1426,1427],{},"WHERE s.C = 40;\n",[14,1429,1430,1431,160],{},"讲解：SQL Server 的连接更新使用 ",[26,1432,1433],{},"UPDATE r SET ... FROM R AS r JOIN ...",[18,1435,1437],{"id":1436},"_30-已知关系-r-和-s执行给定-sql给出视图-h-内容和查询结果","30. 已知关系 R 和 S，执行给定 SQL，给出视图 H 内容和查询结果。",[14,1439,348],{},[14,1441,1007],{},[190,1443,1444,1454],{},[193,1445,1446],{},[196,1447,1448,1450,1452],{},[199,1449,351],{},[199,1451,442],{},[199,1453,1020],{},[206,1455,1456,1464,1472,1480],{},[196,1457,1458,1460,1462],{},[211,1459,1027],{},[211,1461,1030],{},[211,1463,1033],{},[196,1465,1466,1468,1470],{},[211,1467,1027],{},[211,1469,1052],{},[211,1471,1044],{},[196,1473,1474,1476,1478],{},[211,1475,1038],{},[211,1477,1030],{},[211,1479,603],{},[196,1481,1482,1484,1486],{},[211,1483,1038],{},[211,1485,1041],{},[211,1487,1038],{},[14,1489,1068],{},[190,1491,1492,1502],{},[193,1493,1494],{},[196,1495,1496,1498,1500],{},[199,1497,351],{},[199,1499,1079],{},[199,1501,1082],{},[206,1503,1504,1512,1520],{},[196,1505,1506,1508,1510],{},[211,1507,1027],{},[211,1509,1091],{},[211,1511,382],{},[196,1513,1514,1516,1518],{},[211,1515,1038],{},[211,1517,1100],{},[211,1519,603],{},[196,1521,1522,1524,1526],{},[211,1523,1027],{},[211,1525,1100],{},[211,1527,1111],{},[14,1529,1530],{},"题面 SQL：",[635,1532,1534],{"className":637,"code":1533,"language":639,"meta":640,"style":640},"CREATE SQL VIEW H(A, B, C, D, E)\nAS SELECT A, B, R.C, D, E\nFROM R, S\nWHERE R.C = S.C;\n\nSELECT B, D, E\nFROM H\nWHERE C = 'C2';\n",[26,1535,1536,1541,1546,1551,1556,1562,1567,1572],{"__ignoreMap":640},[644,1537,1538],{"class":646,"line":647},[644,1539,1540],{},"CREATE SQL VIEW H(A, B, C, D, E)\n",[644,1542,1543],{"class":646,"line":653},[644,1544,1545],{},"AS SELECT A, B, R.C, D, E\n",[644,1547,1548],{"class":646,"line":659},[644,1549,1550],{},"FROM R, S\n",[644,1552,1553],{"class":646,"line":665},[644,1554,1555],{},"WHERE R.C = S.C;\n",[644,1557,1558],{"class":646,"line":671},[644,1559,1561],{"emptyLinePlaceholder":1560},true,"\n",[644,1563,1564],{"class":646,"line":677},[644,1565,1566],{},"SELECT B, D, E\n",[644,1568,1569],{"class":646,"line":683},[644,1570,1571],{},"FROM H\n",[644,1573,1574],{"class":646,"line":689},[644,1575,1576],{},"WHERE C = 'C2';\n",[14,1578,51],{},[14,1580,1581,1582,1584,1585,1588,1589,1592,1593,1596],{},"原题 SQL 有明显笔误：S 表没有 ",[26,1583,1020],{}," 列，因此 ",[26,1586,1587],{},"WHERE R.C = S.C"," 在题面关系上无法执行；并且题面 R.C 的值为 ",[26,1590,1591],{},"20, 22, 18, a2","，与查询条件 ",[26,1594,1595],{},"C='C2'"," 也不一致。",[14,1598,1599,1600,1603],{},"按最常见修正，把连接条件改为 ",[26,1601,1602],{},"R.A = S.A","，SQL Server 写法为：",[635,1605,1607],{"className":637,"code":1606,"language":639,"meta":640,"style":640},"CREATE VIEW dbo.H(A, B, C, D, E)\nAS\nSELECT r.A, r.B, r.C, s.D, s.E\nFROM dbo.R AS r\nJOIN dbo.S AS s\n  ON s.A = r.A;\n",[26,1608,1609,1614,1618,1623,1627,1631],{"__ignoreMap":640},[644,1610,1611],{"class":646,"line":647},[644,1612,1613],{},"CREATE VIEW dbo.H(A, B, C, D, E)\n",[644,1615,1616],{"class":646,"line":653},[644,1617,1165],{},[644,1619,1620],{"class":646,"line":659},[644,1621,1622],{},"SELECT r.A, r.B, r.C, s.D, s.E\n",[644,1624,1625],{"class":646,"line":665},[644,1626,1175],{},[644,1628,1629],{"class":646,"line":671},[644,1630,1180],{},[644,1632,1633],{"class":646,"line":677},[644,1634,1635],{},"  ON s.A = r.A;\n",[14,1637,1638],{},"则视图 H 为：",[190,1640,1641,1655],{},[193,1642,1643],{},[196,1644,1645,1647,1649,1651,1653],{},[199,1646,351],{},[199,1648,442],{},[199,1650,1020],{},[199,1652,1079],{},[199,1654,1082],{},[206,1656,1657,1669,1681,1693,1705,1717],{},[196,1658,1659,1661,1663,1665,1667],{},[211,1660,1027],{},[211,1662,1030],{},[211,1664,1033],{},[211,1666,1091],{},[211,1668,382],{},[196,1670,1671,1673,1675,1677,1679],{},[211,1672,1027],{},[211,1674,1030],{},[211,1676,1033],{},[211,1678,1100],{},[211,1680,1111],{},[196,1682,1683,1685,1687,1689,1691],{},[211,1684,1027],{},[211,1686,1052],{},[211,1688,1044],{},[211,1690,1091],{},[211,1692,382],{},[196,1694,1695,1697,1699,1701,1703],{},[211,1696,1027],{},[211,1698,1052],{},[211,1700,1044],{},[211,1702,1100],{},[211,1704,1111],{},[196,1706,1707,1709,1711,1713,1715],{},[211,1708,1038],{},[211,1710,1030],{},[211,1712,603],{},[211,1714,1100],{},[211,1716,603],{},[196,1718,1719,1721,1723,1725,1727],{},[211,1720,1038],{},[211,1722,1041],{},[211,1724,1038],{},[211,1726,1100],{},[211,1728,603],{},[14,1730,1731,1732,1735,1736,1739,1740,1743],{},"若仍按题面查询 ",[26,1733,1734],{},"WHERE C='C2'","，结果为空。若老师原意是 ",[26,1737,1738],{},"WHERE C=22"," 或原表 C 值应为 ",[26,1741,1742],{},"C2","，对应结果为：",[190,1745,1746,1756],{},[193,1747,1748],{},[196,1749,1750,1752,1754],{},[199,1751,442],{},[199,1753,1079],{},[199,1755,1082],{},[206,1757,1758,1766],{},[196,1759,1760,1762,1764],{},[211,1761,1052],{},[211,1763,1091],{},[211,1765,382],{},[196,1767,1768,1770,1772],{},[211,1769,1052],{},[211,1771,1100],{},[211,1773,1111],{},[14,1775,1776],{},"讲解：复习时要会判断题面是否类型和属性一致。关系模式不含某属性时，SQL 不能执行；不能为了凑答案忽略这个错误。",[18,1778,1780],{"id":1779},"_31-已知关系-r按-a-分组求-c-的最大值和最小值并置于视图-rve-中再查询-a98-的记录","31. 已知关系 R，按 A 分组求 C 的最大值和最小值，并置于视图 RVE 中；再查询 A='98' 的记录。",[14,1782,348],{},[190,1784,1785,1795],{},[193,1786,1787],{},[196,1788,1789,1791,1793],{},[199,1790,351],{},[199,1792,442],{},[199,1794,1020],{},[206,1796,1797,1807,1816,1825,1834,1842,1851,1861],{},[196,1798,1799,1802,1804],{},[211,1800,1801],{},"97",[211,1803,1030],{},[211,1805,1806],{},"84",[196,1808,1809,1811,1813],{},[211,1810,1801],{},[211,1812,1052],{},[211,1814,1815],{},"92",[196,1817,1818,1820,1822],{},[211,1819,1801],{},[211,1821,1041],{},[211,1823,1824],{},"98",[196,1826,1827,1829,1831],{},[211,1828,1824],{},[211,1830,1030],{},[211,1832,1833],{},"72",[196,1835,1836,1838,1840],{},[211,1837,1824],{},[211,1839,1052],{},[211,1841,1806],{},[196,1843,1844,1846,1848],{},[211,1845,1824],{},[211,1847,1041],{},[211,1849,1850],{},"95",[196,1852,1853,1856,1858],{},[211,1854,1855],{},"99",[211,1857,1030],{},[211,1859,1860],{},"88",[196,1862,1863,1865,1867],{},[211,1864,1855],{},[211,1866,1052],{},[211,1868,1869],{},"94",[14,1871,51],{},[635,1873,1875],{"className":637,"code":1874,"language":639,"meta":640,"style":640},"CREATE VIEW dbo.RVE\nAS\nSELECT A,\n       MAX(C) AS MaxC,\n       MIN(C) AS MinC\nFROM dbo.R\nGROUP BY A;\n\nSELECT A, MaxC, MinC\nFROM dbo.RVE\nWHERE A = '98';\n",[26,1876,1877,1882,1886,1890,1895,1900,1905,1909,1913,1918,1923],{"__ignoreMap":640},[644,1878,1879],{"class":646,"line":647},[644,1880,1881],{},"CREATE VIEW dbo.RVE\n",[644,1883,1884],{"class":646,"line":653},[644,1885,1165],{},[644,1887,1888],{"class":646,"line":659},[644,1889,1220],{},[644,1891,1892],{"class":646,"line":665},[644,1893,1894],{},"       MAX(C) AS MaxC,\n",[644,1896,1897],{"class":646,"line":671},[644,1898,1899],{},"       MIN(C) AS MinC\n",[644,1901,1902],{"class":646,"line":677},[644,1903,1904],{},"FROM dbo.R\n",[644,1906,1907],{"class":646,"line":683},[644,1908,1240],{},[644,1910,1911],{"class":646,"line":689},[644,1912,1561],{"emptyLinePlaceholder":1560},[644,1914,1915],{"class":646,"line":871},[644,1916,1917],{},"SELECT A, MaxC, MinC\n",[644,1919,1920],{"class":646,"line":877},[644,1921,1922],{},"FROM dbo.RVE\n",[644,1924,1925],{"class":646,"line":883},[644,1926,1927],{},"WHERE A = '98';\n",[14,1929,1930],{},"视图 RVE：",[190,1932,1933,1945],{},[193,1934,1935],{},[196,1936,1937,1939,1942],{},[199,1938,351],{},[199,1940,1941],{},"MaxC",[199,1943,1944],{},"MinC",[206,1946,1947,1955,1963],{},[196,1948,1949,1951,1953],{},[211,1950,1801],{},[211,1952,1824],{},[211,1954,1806],{},[196,1956,1957,1959,1961],{},[211,1958,1824],{},[211,1960,1850],{},[211,1962,1833],{},[196,1964,1965,1967,1969],{},[211,1966,1855],{},[211,1968,1869],{},[211,1970,1860],{},[14,1972,1973],{},"查询结果：",[190,1975,1976,1986],{},[193,1977,1978],{},[196,1979,1980,1982,1984],{},[199,1981,351],{},[199,1983,1941],{},[199,1985,1944],{},[206,1987,1988],{},[196,1989,1990,1992,1994],{},[211,1991,1824],{},[211,1993,1850],{},[211,1995,1833],{},[18,1997,1999],{"id":1998},"_32-已知学生表-ssno-sn-sd-prov-和学生选课表-scsno-cn-gr用-sql-实现查询","32. 已知学生表 S(SNO, SN, SD, PROV) 和学生选课表 SC(SNO, CN, GR)，用 SQL 实现查询。",[45,2001,2003],{"id":2002},"_321-查询信息系的学生来自哪些省区","32.1 查询“信息系”的学生来自哪些省区。",[635,2005,2007],{"className":637,"code":2006,"language":639,"meta":640,"style":640},"SELECT DISTINCT PROV\nFROM dbo.S\nWHERE SD = N'信息系';\n",[26,2008,2009,2014,2019],{"__ignoreMap":640},[644,2010,2011],{"class":646,"line":647},[644,2012,2013],{},"SELECT DISTINCT PROV\n",[644,2015,2016],{"class":646,"line":653},[644,2017,2018],{},"FROM dbo.S\n",[644,2020,2021],{"class":646,"line":659},[644,2022,2023],{},"WHERE SD = N'信息系';\n",[45,2025,2027],{"id":2026},"_322-按分数降序排序输出英语系的学生选修了计算机课程的学生姓名和分数","32.2 按分数降序排序，输出“英语系”的学生选修了“计算机”课程的学生姓名和分数。",[635,2029,2031],{"className":637,"code":2030,"language":639,"meta":640,"style":640},"SELECT s.SN, sc.GR\nFROM dbo.S AS s\nJOIN dbo.SC AS sc\n  ON sc.SNO = s.SNO\nWHERE s.SD = N'英语系'\n  AND sc.CN = N'计算机'\nORDER BY sc.GR DESC;\n",[26,2032,2033,2038,2043,2048,2053,2058,2063],{"__ignoreMap":640},[644,2034,2035],{"class":646,"line":647},[644,2036,2037],{},"SELECT s.SN, sc.GR\n",[644,2039,2040],{"class":646,"line":653},[644,2041,2042],{},"FROM dbo.S AS s\n",[644,2044,2045],{"class":646,"line":659},[644,2046,2047],{},"JOIN dbo.SC AS sc\n",[644,2049,2050],{"class":646,"line":665},[644,2051,2052],{},"  ON sc.SNO = s.SNO\n",[644,2054,2055],{"class":646,"line":671},[644,2056,2057],{},"WHERE s.SD = N'英语系'\n",[644,2059,2060],{"class":646,"line":677},[644,2061,2062],{},"  AND sc.CN = N'计算机'\n",[644,2064,2065],{"class":646,"line":683},[644,2066,2067],{},"ORDER BY sc.GR DESC;\n",[14,2069,125,2070,2073],{},[26,2071,2072],{},"DISTINCT"," 用于去重省区；排序只能保证最终查询结果顺序，不应依赖表内物理顺序。",[18,2075,2077],{"id":2076},"_33-设学生表-ssno-sn-和选课表-scsno-cno-cn-g完成视图和查询","33. 设学生表 S(SNO, SN) 和选课表 SC(SNO, CNO, CN, G)，完成视图和查询。",[45,2079,2081,2082,2085],{"id":2080},"_331-建立视图-v-sscsno-sn-cno-cn-g并按-cno-升序排序","33.1 建立视图 ",[26,2083,2084],{},"V-SSC(SNO, SN, CNO, CN, G)","，并按 CNO 升序排序。",[14,2087,2088],{},"SQL Server 写法：",[635,2090,2092],{"className":637,"code":2091,"language":639,"meta":640,"style":640},"CREATE VIEW dbo.[V-SSC]\nAS\nSELECT s.SNO, s.SN, sc.CNO, sc.CN, sc.G\nFROM dbo.S AS s\nJOIN dbo.SC AS sc\n  ON sc.SNO = s.SNO;\n\nSELECT SNO, SN, CNO, CN, G\nFROM dbo.[V-SSC]\nORDER BY CNO ASC;\n",[26,2093,2094,2099,2103,2108,2112,2116,2121,2125,2130,2135],{"__ignoreMap":640},[644,2095,2096],{"class":646,"line":647},[644,2097,2098],{},"CREATE VIEW dbo.[V-SSC]\n",[644,2100,2101],{"class":646,"line":653},[644,2102,1165],{},[644,2104,2105],{"class":646,"line":659},[644,2106,2107],{},"SELECT s.SNO, s.SN, sc.CNO, sc.CN, sc.G\n",[644,2109,2110],{"class":646,"line":665},[644,2111,2042],{},[644,2113,2114],{"class":646,"line":671},[644,2115,2047],{},[644,2117,2118],{"class":646,"line":677},[644,2119,2120],{},"  ON sc.SNO = s.SNO;\n",[644,2122,2123],{"class":646,"line":683},[644,2124,1561],{"emptyLinePlaceholder":1560},[644,2126,2127],{"class":646,"line":689},[644,2128,2129],{},"SELECT SNO, SN, CNO, CN, G\n",[644,2131,2132],{"class":646,"line":871},[644,2133,2134],{},"FROM dbo.[V-SSC]\n",[644,2136,2137],{"class":646,"line":877},[644,2138,2139],{},"ORDER BY CNO ASC;\n",[14,2141,2142,2143,2146],{},"讲解：SQL Server 普通视图定义中不能为了显示顺序直接写 ",[26,2144,2145],{},"ORDER BY","。视图只定义结果集合，排序应在查询视图时写。",[45,2148,2150,2151,2154],{"id":2149},"_332-从视图-v-ssc-上查询平均成绩在-90-分以上的-sncn-和-g","33.2 从视图 ",[26,2152,2153],{},"V-SSC"," 上查询平均成绩在 90 分以上的 SN、CN 和 G。",[635,2156,2158],{"className":637,"code":2157,"language":639,"meta":640,"style":640},"WITH StudentAvg AS (\n    SELECT SNO\n    FROM dbo.[V-SSC]\n    GROUP BY SNO\n    HAVING AVG(CAST(G AS decimal(5, 2))) >= 90\n)\nSELECT v.SN, v.CN, v.G\nFROM dbo.[V-SSC] AS v\nJOIN StudentAvg AS a\n  ON a.SNO = v.SNO;\n",[26,2159,2160,2165,2170,2175,2180,2185,2190,2195,2200,2205],{"__ignoreMap":640},[644,2161,2162],{"class":646,"line":647},[644,2163,2164],{},"WITH StudentAvg AS (\n",[644,2166,2167],{"class":646,"line":653},[644,2168,2169],{},"    SELECT SNO\n",[644,2171,2172],{"class":646,"line":659},[644,2173,2174],{},"    FROM dbo.[V-SSC]\n",[644,2176,2177],{"class":646,"line":665},[644,2178,2179],{},"    GROUP BY SNO\n",[644,2181,2182],{"class":646,"line":671},[644,2183,2184],{},"    HAVING AVG(CAST(G AS decimal(5, 2))) >= 90\n",[644,2186,2187],{"class":646,"line":677},[644,2188,2189],{},")\n",[644,2191,2192],{"class":646,"line":683},[644,2193,2194],{},"SELECT v.SN, v.CN, v.G\n",[644,2196,2197],{"class":646,"line":689},[644,2198,2199],{},"FROM dbo.[V-SSC] AS v\n",[644,2201,2202],{"class":646,"line":871},[644,2203,2204],{},"JOIN StudentAvg AS a\n",[644,2206,2207],{"class":646,"line":877},[644,2208,2209],{},"  ON a.SNO = v.SNO;\n",[14,2211,2212],{},"讲解：题面说“平均成绩在 90 分以上”，通常按学生全部课程平均分理解。先按学生分组筛出平均分达标的学生，再返回这些学生的课程名和成绩。",[2214,2215,2216],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":640,"searchDepth":653,"depth":653,"links":2218},[2219,2229,2233,2234,2239,2244,2249,2253,2254,2255,2259],{"id":20,"depth":653,"text":21,"children":2220},[2221,2222,2223,2224,2225,2226,2227,2228],{"id":47,"depth":659,"text":48},{"id":59,"depth":659,"text":60},{"id":70,"depth":659,"text":71},{"id":81,"depth":659,"text":82},{"id":92,"depth":659,"text":93},{"id":103,"depth":659,"text":104},{"id":114,"depth":659,"text":115},{"id":132,"depth":659,"text":133},{"id":146,"depth":653,"text":147,"children":2230},[2231,2232],{"id":163,"depth":659,"text":164},{"id":174,"depth":659,"text":175},{"id":185,"depth":653,"text":186},{"id":344,"depth":653,"text":345,"children":2235},[2236,2237,2238],{"id":632,"depth":659,"text":633},{"id":758,"depth":659,"text":759},{"id":823,"depth":659,"text":824},{"id":937,"depth":653,"text":938,"children":2240},[2241,2242,2243],{"id":941,"depth":659,"text":942},{"id":954,"depth":659,"text":955},{"id":978,"depth":659,"text":979},{"id":1001,"depth":653,"text":1002,"children":2245},[2246,2248],{"id":1146,"depth":659,"text":2247},"28.1 将 R、S、T 按关联属性建立视图 R-S-T。",{"id":1209,"depth":659,"text":1210},{"id":1286,"depth":653,"text":1287,"children":2250},[2251,2252],{"id":1359,"depth":659,"text":1360},{"id":1394,"depth":659,"text":1395},{"id":1436,"depth":653,"text":1437},{"id":1779,"depth":653,"text":1780},{"id":1998,"depth":653,"text":1999,"children":2256},[2257,2258],{"id":2002,"depth":659,"text":2003},{"id":2026,"depth":659,"text":2027},{"id":2076,"depth":653,"text":2077,"children":2260},[2261,2263],{"id":2080,"depth":659,"text":2262},"33.1 建立视图 V-SSC(SNO, SN, CNO, CN, G)，并按 CNO 升序排序。",{"id":2149,"depth":659,"text":2264},"33.2 从视图 V-SSC 上查询平均成绩在 90 分以上的 SN、CN 和 G。","md",{},"\u002Fsource\u002Fcs\u002Fdb\u002F100+70\u002Fday09-70-22-33",{"title":5,"description":16},"source\u002Fcs\u002Fdb\u002F100+70\u002FDay09-数据库70题-综合22-33","GQAoO4c7bveq6IcYc9nW5bYor_4SrrZ0UFhxvZ69WxY",1793692175025]