本題目要求編寫SQL語句,
查詢每個同學(xué)超過他選修的平均成績的課程。
請使用:
1)用相關(guān)子查詢實現(xiàn)
2)使用派生表實現(xiàn)。
表結(jié)構(gòu):
請在這里寫定義表結(jié)構(gòu)的SQL語句。例如:
-- 課程表
CREATE TABLE ?cou ?( ?
? ?cno ?char(4) NOT NULL,
? ?cname ?nvarchar(30) NOT NULL,
? ?credit ?smallint DEFAULT NULL,
? ?ptime ?char(5) DEFAULT NULL,
? ?teacher ?nvarchar(10) DEFAULT NULL,
? PRIMARY KEY ( cno )
);
-- 學(xué)生選課成績表
CREATE TABLE ?sc ?( ?
? ?sno ?char(4) NOT NULL, ?-- 學(xué)生學(xué)號
? ?cno ?char(4) NOT NULL, ?-- 課程號
? ?grade ?decimal(4,1) DEFAULT NULL,
? PRIMARY KEY ( sno , cno ),
? CONSTRAINT ?fk_sc_cno ?FOREIGN KEY ( cno ) REFERENCES ?cou ?( cno )
)?
表樣例
請在這里給出上述表結(jié)構(gòu)對應(yīng)的表樣例。例如
cou
表:
?sc
表:
輸出樣例:
請在這里給出輸出樣例。例如:
?思路:文章來源:http://www.zghlxwxcb.cn/news/detail-736432.html
?將sc表和cou表連接起來,然后where條件為grade大于平均成績文章來源地址http://www.zghlxwxcb.cn/news/detail-736432.html
select a.sno 學(xué)號,cou.cname 課程名,a.grade 成績
from sc a join cou
on a.cno=cou.cno
where a.grade >
(select avg(b.grade) from sc b where a.sno=b.sno)
order by grade
到了這里,關(guān)于10-23 查詢平均成績以上的課程(MSSQL)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!