日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

java面试题 sql_SQL 面试题目及答案 | java面试题

發(fā)布時間:2023/12/14 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java面试题 sql_SQL 面试题目及答案 | java面试题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

學(xué)生成績表(stuscore):

姓名:name ??? 課程:subject ??? 分?jǐn)?shù):score ??? 學(xué)號:stuid

張三 ??? 數(shù)學(xué) ??? 89 ??? 1

張三 ??? 語文 ??? 80 ??? 1

張三 ??? 英語 ??? 70 ??? 1

李四 ??? 數(shù)學(xué) ??? 90 ??? 2

李四 ??? 語文 ??? 70 ??? 2

李四 ??? 英語 ??? 80 ??? 2

1.計(jì)算每個人的總成績并排名(要求顯示字段:姓名,總成績)

答案:select name,sum(score) as allscore from stuscore group by name order by allscore

2.計(jì)算每個人的總成績并排名(要求顯示字段: 學(xué)號,姓名,總成績)

答案:select distinct t1.name,t1.stuid,t2.allscore from? stuscore t1,(??? select stuid,sum(score) as allscore from stuscore group by stuid)t2where t1.stuid=t2.stuidorder by t2.allscore desc

3.計(jì)算每個人單科的最高成績(要求顯示字段: 學(xué)號,姓名,課程,最高成績)

答案:select t1.stuid,t1.name,t1.subject,t1.score from stuscore t1,(select stuid,max(score) as maxscore from stuscore group by stuid) t2where t1.stuid=t2.stuid and t1.score=t2.maxscore

4.計(jì)算每個人的平均成績(要求顯示字段: 學(xué)號,姓名,平均成績)

答案:select distinct t1.stuid,t1.name,t2.avgscore from stuscore t1,(select stuid,avg(score) as avgscore from stuscore group by stuid) t2where t1.stuid=t2.stuid

5.列出各門課程成績最好的學(xué)生(要求顯示字段: 學(xué)號,姓名,科目,成績)

答案:select? t1.stuid,t1.name,t1.subject,t2.maxscore from stuscore t1,(select subject,max(score) as maxscore from stuscore group by subject) t2where t1.subject=t2.subject and t1.score=t2.maxscore

6.列出各門課程成績最好的兩位學(xué)生(要求顯示字段: 學(xué)號,姓名,科目,成績)

答案:select distinct t1.* from stuscore t1 where t1.id in (select top 2 stuscore.id from stuscore where subject = t1.subject order by score desc) order by t1.subject

7.統(tǒng)計(jì)如下:學(xué)號 ??? 姓名 ??? 語文 ??? 數(shù)學(xué) ??? 英語 ??? 總分 ??? 平均分

答案:select stuid as 學(xué)號,name as 姓名,sum(case when subject=’語文’ then score else 0 end) as 語文,sum(case when subject=’數(shù)學(xué)’ then score else 0 end) as 數(shù)學(xué),sum(case when subject=’英語’ then score else 0 end) as 英語,sum(score) as 總分,(sum(score)/count(*)) as 平均分from stuscoregroup by stuid,name order by 總分desc

8.列出各門課程的平均成績(要求顯示字段:課程,平均成績)

答案:select subject,avg(score) as avgscore from stuscoregroup by subject

9.列出數(shù)學(xué)成績的排名(要求顯示字段:學(xué)號,姓名,成績,排名)

答案:

declare @tmp table(pm int,name varchar(50),score int,stuid int)

insert into @tmp select null,name,score,stuid from stuscore where subject=’數(shù)學(xué)’ order by score desc

declare @id int

set @id=0;

update @tmp set @id=@id+1,pm=@id

select * from @tmp

oracle:

select? DENSE_RANK () OVER(order by score desc) as row,name,subject,score,stuid from stuscore where subject=’數(shù)學(xué)’order by score desc

ms sql(最佳選擇)

select (select count(*) from stuscore t1 where subject =’數(shù)學(xué)’ and t1.score>t2.score)+1 as row ,stuid,name,score from stuscore t2 where subject =’數(shù)學(xué)’ order by score desc

10.列出數(shù)學(xué)成績在2-3名的學(xué)生(要求顯示字段:學(xué)號,姓名,科目,成績)

答案:select t3.*? from(select top 2 t2.*? from (select top 3 name,subject,score,stuid from stuscore where subject=’數(shù)學(xué)’order by score desc) t2 order by t2.score) t3 order by t3.score desc

11.求出李四的數(shù)學(xué)成績的排名

答案:

declare @tmp table(pm int,name varchar(50),score int,stuid int)insert into @tmp select null,name,score,stuid from stuscore where subject=’數(shù)學(xué)’ order by score descdeclare @id intset @id=0;update @tmp set @id=@id+1,pm=@idselect * from @tmp where name=’李四’

12.統(tǒng)計(jì)如下:課程 ??? 不及格(0-59)個 ??? 良(60-80)個 ??? 優(yōu)(81-100)個

答案:select subject, (select count(*) from stuscore where score<60 and subject=t1.subject) as 不及格,(select count(*) from stuscore where score between 60 and 80 and subject=t1.subject) as 良,(select count(*) from stuscore where score >80 and subject=t1.subject) as 優(yōu)from stuscore t1 group by subject

13.統(tǒng)計(jì)如下:數(shù)學(xué):張三(50分),李四(90分),王五(90分),趙六(76分)

答案:

declare @s varchar(1000)set @s=”select @s =@s+’,’+name+'(‘+convert(varchar(10),score)+’分)’ from stuscore where subject=’數(shù)學(xué)’ set @s=stuff(@s,1,1,”)print ‘?dāng)?shù)學(xué):’+@s

14.計(jì)算科科及格的人的平均成績

答案: select distinct t1.stuid,t2.avgscore? from stuscore t1,(select stuid,avg(score) as avgscore from stuscore?? group by stuid? ) t2,(select stuid from stuscore where score<60 group by stuid) t3 where t1.stuid=t2.stuid and t1.stuid!=t3.stuid;

select? name,avg(score) as avgscore?? from stuscore s? where (select sum(case when i.score>=60 then 1 else 0 end) from stuscore i where? i.name= s.name)=3?? group by name

總結(jié)

以上是生活随笔為你收集整理的java面试题 sql_SQL 面试题目及答案 | java面试题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。