SQL50題及答案

習(xí)題來源于網(wǎng)絡(luò)搞疗,sql語句是自己的答案箍镜,部分有參考镊尺。歡迎指正及探討。

測試用數(shù)據(jù)表

1. 學(xué)生表 Student

--SId 學(xué)生編號(hào), Sname 學(xué)生姓名, Sage 出生年月, Ssex 學(xué)生性別
create table Student (SId varchar(10), Sname varchar(10), Sage datetime, Ssex varchar(10));
insert into Student values('01' , '趙雷' , '1990-01-01' , '男');
insert into Student values('02' , '錢電' , '1990-12-21' , '男');
insert into Student values('03' , '孫風(fēng)' , '1990-12-20' , '男');
insert into Student values('04' , '李云' , '1990-12-06' , '男');
insert into Student values('05' , '周梅' , '1991-12-01' , '女');
insert into Student values('06' , '吳蘭' , '1992-01-01' , '女');
insert into Student values('07' , '鄭竹' , '1989-01-01' , '女');
insert into Student values('09' , '張三' , '2017-12-20' , '女');
insert into Student values('10' , '李四' , '2017-12-25' , '女');
insert into Student values('11' , '李四' , '2012-06-06' , '女');
insert into Student values('12' , '趙六' , '2013-06-13' , '女');
insert into Student values('13' , '孫七' , '2014-06-01' , '女');

2. 課程表 Course

--CId 課程編號(hào), Cname 課程名稱, TId 教師編號(hào)
create table Course(CId varchar(10),Cname nvarchar(10),TId varchar(10))
insert into Course values('01' , '語文' , '02')
insert into Course values('02' , '數(shù)學(xué)' , '01')
insert into Course values('03' , '英語' , '03')

3. 教師表 Teacher

--TId 教師編號(hào), Tname 教師姓名
create table Teacher(TId varchar(10),Tname varchar(10))
insert into Teacher values('01' , '張三')
insert into Teacher values('02' , '李四')
insert into Teacher values('03' , '王五')

4. 成績表 SC

--SId 學(xué)生編號(hào), CId 課程編號(hào), score 分?jǐn)?shù)
create table SC(SId varchar(10),CId varchar(10),score decimal(18,1))
insert into SC values('01' , '01' , 80)
insert into SC values('01' , '02' , 90)
insert into SC values('01' , '03' , 99)
insert into SC values('02' , '01' , 70)
insert into SC values('02' , '02' , 60)
insert into SC values('02' , '03' , 80)
insert into SC values('03' , '01' , 80)
insert into SC values('03' , '02' , 80)
insert into SC values('03' , '03' , 80)
insert into SC values('04' , '01' , 50)
insert into SC values('04' , '02' , 30)
insert into SC values('04' , '03' , 20)
insert into SC values('05' , '01' , 76)
insert into SC values('05' , '02' , 87)
insert into SC values('06' , '01' , 31)
insert into SC values('06' , '03' , 34)
insert into SC values('07' , '02' , 89)
insert into SC values('07' , '03' , 98)

習(xí)題及答案 無答案版在最下方

1. 查詢" 01 "課程比" 02 "課程成績高的學(xué)生的信息及課程分?jǐn)?shù)

-- 1. 查詢" 01 "課程比" 02 "課程成績高的學(xué)生的信息及課程分?jǐn)?shù)
select 
    Student.*
from
    (select a.Sid
    from (select * from SC where Cid = '01') a
    join (select * from SC where Cid = '02') b
    on a.Sid = b.Sid
    and a.score > b.score) r
left join Student
on r.Sid = Student.Sid;

1.1 查詢同時(shí)存在" 01 "課程和" 02 "課程的情況

-- 1.1 查詢同時(shí)存在" 01 "課程和" 02 "課程的情況

--解法一
select * from SC 
where Sid in (
  select Sid from SC 
  where Sid in (select Sid from SC where Cid = '01')
  and Cid = '02');

--解法二
select * 
from (select * from SC where Cid = '02') a
join (select * from SC where Cid = '01') b
on a.Sid = b.Sid;

1.2 查詢存在" 01 "課程但可能不存在" 02 "課程的情況(不存在時(shí)顯示為 null)
null提示:使用left join

-- 1.2查詢存在" 01 "課程但可能不存在" 02 "課程的情況(不存在時(shí)顯示為 null)
select * 
from (select * from SC where Cid = '02') a
left join (select * from SC where Cid = '01') b
on a.Sid = b.Sid;

1.3 查詢不存在" 01 "課程但存在" 02 "課程的情況

-- 1.3 查詢不存在" 01 "課程但存在" 02 "課程的情況
select * from SC 
where Sid not in (select Sid from SC where Cid = '01')
and Cid = '02';

2. 查詢平均成績大于等于 60 分的同學(xué)的學(xué)生編號(hào)和學(xué)生姓名和平均成績

-- 2.查詢平均成績大于等于 60 分的同學(xué)的學(xué)生編號(hào)和學(xué)生姓名和平均成績
select Student.* , a.avg_score 
from Student, 
  (select Sid, avg(score) as avg_score from SC group by Sid having avg(score) >= 60) as a
where Student.Sid = a.Sid;

3. 查詢?cè)?SC 表存在成績的學(xué)生信息

-- 3. 查詢?cè)?SC 表存在成績的學(xué)生信息
select Student.* from Student
where Sid in (select distinct Sid from SC);

4. 查詢所有同學(xué)的學(xué)生編號(hào)尖滚、學(xué)生姓名、選課總數(shù)瞧柔、所有課程的總成績(沒成績的顯示為 null)

-- 4. 查詢所有同學(xué)的學(xué)生編號(hào)漆弄、學(xué)生姓名、選課總數(shù)造锅、所有課程的總成績(沒成績的顯示為 null)
select 
    Student.Sid, 
    Student.Sname, 
    a.* 
from Student 
left join (select Sid, count(Cid) as '選課總數(shù)', sum(score) as '總成績' from SC group by Sid) as a
on  Student.Sid = a.Sid;

4.1 查有成績的學(xué)生信息

-- 4.1 查有成績的學(xué)生信息
select * from Student
where Sid in (select distinct Sid from SC);

5. 查詢「李」姓老師的數(shù)量

-- 5. 查詢「李」姓老師的數(shù)量
select count(Tname) as '李姓教師數(shù)量' from Teacher where Tname like '李%';

6. 查詢學(xué)過「張三」老師授課的同學(xué)的信息

-- 6 查詢學(xué)過「張三」老師授課的同學(xué)的信息
select Student.* from Student where Sid in (
    select Sid from SC, Course, Teacher 
    where Teacher.Tname = '張三' 
    and Teacher.Tid = Course.Tid 
    and Course.Cid = SC.Cid);

7. 查詢沒有學(xué)全所有課程的同學(xué)的信息

-- 7. 查詢沒有學(xué)全所有課程的同學(xué)的信息
select Student.* from Student
where Sid not in 
    (select Sid from 
        (select Sid, count(distinct Cid) as s_course_cnt from SC group by Sid) a, 
        (select count(distinct Cid) as tot_course_cnt from Course) b
    where a.s_course_cnt = b.tot_course_cnt);

8. 查詢至少有一門課與學(xué)號(hào)為" 01 "的同學(xué)所學(xué)相同的同學(xué)的信息

-- 8. 查詢至少有一門課與學(xué)號(hào)為" 01 "的同學(xué)所學(xué)相同的同學(xué)的信息
select Student.* from Student where Sid in 
  (select Sid from SC where Cid in 
    (select Cid from SC where Sid = '01') and Sid <> '01');

9. 查詢和" 01 "號(hào)的同學(xué)學(xué)習(xí)的課程 完全相同的其他同學(xué)的信息

--  9. 查詢和" 01 "號(hào)的同學(xué)學(xué)習(xí)的課程 完全相同的其他同學(xué)的信息
select Student.* from Student 
where Sid in (
    select Sid, count(distinct Cid) as s_course_cnt 
    from SC group by Sid 
    having count(Cid) = (select count(Cid) from SC where Sid = '01' )
and Sid not in (select Sid, Cid from SC where Cid not in (select Cid from SC where Sid = '01' ))));

10. 查詢沒學(xué)過"張三"老師講授的任一門課程的學(xué)生姓名

--  10. 查詢沒學(xué)過"張三"老師講授的任一門課程的學(xué)生姓名
select Student.Sname from Student where Sid not in 
    (select Sid from SC, Course, Teacher 
    where Teacher.Tname like '張三' 
    and Teacher.Tid = Course.Tid 
    and Course.Cid = SC.Cid);

11. 查詢兩門及其以上不及格課程的同學(xué)的學(xué)號(hào)撼唾,姓名及其平均成績

-- 11. 查詢兩門及其以上不及格課程的同學(xué)的學(xué)號(hào),姓名及其平均成績
select Sid, Student.Sname, avg(score) as '平均成績'
from SC, Student
where SC.Sid = Student.Sid 
and Sid in (select Sid from SC where score < 60 group by Sid having count(score) >=2);

12. 檢索" 01 "課程分?jǐn)?shù)小于 60哥蔚,按分?jǐn)?shù)降序排列的學(xué)生信息

-- 12. 檢索" 01 "課程分?jǐn)?shù)小于 60倒谷,按分?jǐn)?shù)降序排列的學(xué)生信息
select Student.*, Cid, score from Student, SC 
where score < 60 and Cid = '01' and SC.Sid = Student.Sid
order by score desc;

13. 按平均成績從高到低顯示所有學(xué)生的所有課程的成績以及平均成績

-- 13. 按平均成績從高到低顯示所有學(xué)生的所有課程的成績以及平均成績
select SC.*, avg_score
from SC left join (select Sid, avg(score) as avg_score from SC) a
on SC.Sid = a.Sid;

14. 查詢各科成績最高分、最低分和平均分:以如下形式顯示:課程 ID糙箍,課程 name渤愁,最高分,最低分深夯,平均分抖格,及格率诺苹,中等率,優(yōu)良率雹拄,優(yōu)秀率(及格為>=60收奔,中等為:70-80,優(yōu)良為:80-90滓玖,優(yōu)秀為:>=90

-- 14. 查詢各科成績最高分坪哄、最低分和平均分:以如下形式顯示:課程 ID,課程 name势篡,最高分翩肌,最低分,平均分殊霞,及格率摧阅,中等率,優(yōu)良率绷蹲,優(yōu)秀率(及格為>=60棒卷,中等為:70-80,優(yōu)良為:80-90祝钢,優(yōu)秀為:>=90)
select Cid, Course.Cname, 
    sum(case when score >= 90 then 1 else 0 end) * 100 / count(score) as '優(yōu)秀率',
    sum(case when score >= 80 and score < 90  then 1 else 0 end) * 100 / count(score) as '優(yōu)良率',
    sum(case when score >= 70 and score < 80  then 1 else 0 end) * 100 / count(score) as '中等率',
    sum(case when score >= 60 then 1 else 0 end) * 100 / count(score) as '及格率',
    max(score) as '最高分',
    min(score) as '最低分',
    avg(score) as '平均分'
from SC group by Cid;

14.1要求輸出課程號(hào)和選修人數(shù)比规,查詢結(jié)果按人數(shù)降序排列,若人數(shù)相同拦英,按課程號(hào)升序排列

-- 14.1 要求輸出課程號(hào)和選修人數(shù)蜒什,查詢結(jié)果按人數(shù)降序排列,若人數(shù)相同疤估,按課程號(hào)升序排列
select Cid, count(Sid) as '選修人數(shù)'
from SC group by Cid 
order by count(Sid) desc;

15. 按各科成績進(jìn)行排序灾常,并顯示排名, Score 重復(fù)時(shí)保留名次空缺

-- 15. 按各科成績進(jìn)行排序铃拇,并顯示排名钞瀑, Score 重復(fù)時(shí)保留名次空缺
select a.cid, a.sid, a.score, count(b.score)+1 as rank
from SC as a 
left join SC as b 
on a.score<b.score and a.cid = b.cid
group by a.cid, a.sid, a.score
order by a.cid, rank ASC;

15.1 按各科成績進(jìn)行排序,并顯示排名慷荔, Score 重復(fù)時(shí)合并名次

-- 15.1 按各科成績進(jìn)行排序雕什,并顯示排名, Score 重復(fù)時(shí)合并名次
set @crank=0;
select q.Sid, q.Cid, q.score, @crank := @crank +1 as rank from(
select SC.Sid, SC.Cid, SC.score from SC
group by SC.Cid, SC.Sid
order by SC.Cid, SC.score desc)q; 

16. 查詢學(xué)生的總成績显晶,并進(jìn)行排名贷岸,總分重復(fù)時(shí)保留名次空缺

-- 16. 查詢學(xué)生的總成績,并進(jìn)行排名磷雇,總分重復(fù)時(shí)保留名次空缺
select a.Sid, a.tot_score, count(b.tot_score) + 1 as rank
from (select Sid, sum(score) as tot_score from SC group by Sid) a
left join (select Sid, sum(score) as tot_score from SC group by Sid) b
on a.tot_score < b.tot_score
group by a.Sid, a.tot_score
order by rank asc; 

16.1 查詢學(xué)生的總成績偿警,并進(jìn)行排名,總分重復(fù)時(shí)不保留名次空缺

-- 16.1 查詢學(xué)生的總成績唯笙,并進(jìn)行排名户敬,總分重復(fù)時(shí)不保留名次空缺
set @crank=0;
select q.Sid, total, @crank := @crank +1 as rank from(
select SC.Sid, sum(SC.score) as total from SC
group by SC.Sid
order by total desc)q; 

17. 統(tǒng)計(jì)各科成績各分?jǐn)?shù)段人數(shù):課程編號(hào)落剪,課程名稱,[100-85]尿庐,[85-70]忠怖,[70-60],[60-0] 及所占百分比

-- 17. 統(tǒng)計(jì)各科成績各分?jǐn)?shù)段人數(shù):課程編號(hào)抄瑟,課程名稱凡泣,[100-85],[85-70]皮假,[70-60]鞋拟,[60-0] 及所占百分比
select SC.Cid, Course.Cname, count(SC.Sid)
    sum(case when score >= 85 then 1 else 0 end) * 100 / count(score) as '[100-85]',
    sum(case when score >= 70 and score < 85  then 1 else 0 end) * 100 / count(score) as '[85-70]',
    sum(case when score >= 60 and score < 70  then 1 else 0 end) * 100 / count(score) as '[70-60]',
    sum(case when score >= 0 and score < 60 then 1 else 0 end) * 100 / count(score) as '[60-0]'
from SC, Course
where SC.Cid = Course.Cid
group by Cid;

18. 查詢各科成績前三名的記錄

-- 18. 查詢各科成績前三名的記錄
select a.Cid, a.Sid, a.score, count(b.score) + 1 from
(select * from SC group by Cid, Sid, score) a
left join (select * from SC group by Cid, Sid, score) b
on a.Cid = b.Cid and a.score < b.score
group by a.Cid, a.Sid, a.score having count(b.score) < 3 
order by a.Cid asc, a.score desc;

19. 查詢每門課程被選修的學(xué)生數(shù)

-- 19. 查詢每門課程被選修的學(xué)生數(shù)
select Cid, count(score) as '選修學(xué)生數(shù)' from SC group by Cid;

20. 查詢出只選修兩門課程的學(xué)生學(xué)號(hào)和姓名

-- 20. 查詢出只選修兩門課程的學(xué)生學(xué)號(hào)和姓名
select a.Sid, Student.Sname
from (select Sid from SC group by Sid having count(Cid) = 2) a, Student
where a.Sid = Student.Sid;

21. 查詢男生、女生人數(shù)

-- 21. 查詢男生惹资、女生人數(shù)
select Ssex, count(Sid) as '學(xué)生人數(shù)' from Student group by Ssex;

22. 查詢名字中含有「風(fēng)」字的學(xué)生信息

-- 22. 查詢名字中含有「風(fēng)」字的學(xué)生信息
select * from Student where Sname like '%風(fēng)%';

23. 查詢同名同性學(xué)生名單贺纲,并統(tǒng)計(jì)同名人數(shù)

-- 23. 查詢同名同性學(xué)生名單,并統(tǒng)計(jì)同名人數(shù)
select Student.Sname, Student.Sid, a.stu_cnt as '學(xué)生人數(shù)' 
from Student, (select Sname, count(Sid) as stu_cnt from Student group by Sname having count(Sid) > 1) a
where Student.Sname = a.Sname;

24. 查詢 1990 年出生的學(xué)生名單

-- 24. 查詢 1990 年出生的學(xué)生名單
select * from Student where year(Sage) = 1990;

25. 查詢每門課程的平均成績褪测,結(jié)果按平均成績降序排列猴誊,平均成績相同時(shí),按課程編號(hào)升序排列

-- 25. 查詢每門課程的平均成績侮措,結(jié)果按平均成績降序排列懈叹,平均成績相同時(shí),按課程編號(hào)升序排列
select Cid, avg(score) from SC group by Cid order by Cid acs;

26. 查詢平均成績大于等于 85 的所有學(xué)生的學(xué)號(hào)分扎、姓名和平均成績

-- 26. 查詢平均成績大于等于 85 的所有學(xué)生的學(xué)號(hào)澄成、姓名和平均成績
select SC.Sid, Student.Sname, avg(score) from SC, Student where SC.Sid = Student.Sid group by SC.Sid having avg(score) >= 85;

27. 查詢課程名稱為「數(shù)學(xué)」,且分?jǐn)?shù)低于 60 的學(xué)生姓名和分?jǐn)?shù)

-- 27. 查詢課程名稱為「數(shù)學(xué)」畏吓,且分?jǐn)?shù)低于 60 的學(xué)生姓名和分?jǐn)?shù)
select SC.Sid, Student.Sname, SC.score from SC, Student where SC.Sid = Student.Sid and score < 60 and Cid = (select Cid from Course where Cname = '數(shù)學(xué)');

28. 查詢所有學(xué)生的課程及分?jǐn)?shù)情況(存在學(xué)生沒成績墨状,沒選課的情況)

-- 28. 查詢所有學(xué)生的課程及分?jǐn)?shù)情況(存在學(xué)生沒成績,沒選課的情況)
select Student.Sid, Student.Sname, SC.Cid, SC.score from Student left join SC on SC.Sid = Student.Sid;

29. 查詢?nèi)魏我婚T課程成績?cè)?70 分以上的姓名菲饼、課程名稱和分?jǐn)?shù)

-- 29. 查詢?nèi)魏我婚T課程成績?cè)?70 分以上的姓名肾砂、課程名稱和分?jǐn)?shù)
select Student.Sid, Student.Sname, SC.Cid, SC.score from Student left join SC on SC.Sid = Student.Sid;

30. 查詢不及格的課程

-- 30. 查詢不及格的課程
select Cid from SC where score < 60;

31. 查詢課程編號(hào)為 01 且課程成績?cè)?80 分以上的學(xué)生的學(xué)號(hào)和姓名

-- 31. 查詢課程編號(hào)為 01 且課程成績?cè)?80 分以上的學(xué)生的學(xué)號(hào)和姓名
select Student.Sid, substring(Student.Sname,1,1) as '姓' from SC, Student where SC.Sid = Student.Sid and SC.score > 80 and SC.Cid = '01';

32. 求每門課程的學(xué)生人數(shù)

-- 32. 求每門課程的學(xué)生人數(shù)
select Cid, count(Sid) from SC group by Cid;

33. 成績不重復(fù),查詢選修「張三」老師所授課程的學(xué)生中巴粪,成績最高的學(xué)生信息及其成績

-- 33. 成績不重復(fù)通今,查詢選修「張三」老師所授課程的學(xué)生中粥谬,成績最高的學(xué)生信息及其成績
select Student.*, SC.score from Student, SC, Course, Teacher 
where Student.Sid = SC.Sid and SC.Cid = Course.Cid and Course.Tid = Teacher.Tid and Teacher.Tname = '張三'
order by SC.score desc
limit 1;

34. 成績有重復(fù)的情況下肛根,查詢選修「張三」老師所授課程的學(xué)生中,成績最高的學(xué)生信息及其成績

-- 34. 成績有重復(fù)的情況下漏策,查詢選修「張三」老師所授課程的學(xué)生中派哲,成績最高的學(xué)生信息及其成績
select Student.*, SC.score from Student, SC where Student.Sid = SC.Sid 
and score = (
    select  SC.score from SC, Course, Teacher 
    where  SC.Cid = Course.Cid and Course.Tid = Teacher.Tid and Teacher.Tname = '張三'
    order by SC.score desc
    limit 1);

35. 查詢不同課程成績相同的學(xué)生的學(xué)生編號(hào)、課程編號(hào)掺喻、學(xué)生成績

-- 35. 查詢不同課程成績相同的學(xué)生的學(xué)生編號(hào)芭届、課程編號(hào)储矩、學(xué)生成績
select Sid, Cid, score from SC where score in (select score from SC group by score having count(distinct Cid) > 1); 

36. 查詢每門功成績最好的前兩名

-- 36. 查詢每門功成績最好的前兩名
select a.*, count(b.score) + 1 as rank
from SC a
left join SC b
on a.Cid = b.Cid and a.score < b.score
group by a.Cid, a.score, a.Sid
having count(b.score) < 2;

37. 統(tǒng)計(jì)每門課程的學(xué)生選修人數(shù)(超過 5 人的課程才統(tǒng)計(jì))

-- 37. 統(tǒng)計(jì)每門課程的學(xué)生選修人數(shù)(超過 5 人的課程才統(tǒng)計(jì))
select Cid, count(Sid) from SC group by Cid having count(Sid) > 5;

38. 檢索至少選修兩門課程的學(xué)生學(xué)號(hào)

-- 38. 檢索至少選修兩門課程的學(xué)生學(xué)號(hào)
select Sid from SC group by Sid having count(Cid) >=2;

39. 查詢選修了全部課程的學(xué)生信息

-- 39. 查詢選修了全部課程的學(xué)生信息
select Student.* from Student, SC where Student.Sid = SC.Sid group by SC.Sid having count(Cid) = (select count(Cid) from Course);

40. 查詢各學(xué)生的年齡,只按年份來算

-- 40. 查詢各學(xué)生的年齡褂乍,只按年份來算
select Sid, Sname, (year(CURDATE()) - year(Sage)) as age from Student;

41. 按照出生日期來算持隧,當(dāng)前月日 < 出生年月的月日則,年齡減一

-- 41. 按照出生日期來算逃片,當(dāng)前月日 < 出生年月的月日則屡拨,年齡減一
select Sid, Sname, timestampdiff(YEAR, Sage, CURDATE()) age from Student;

42. 查詢本周過生日的學(xué)生

-- 42. 查詢本周過生日的學(xué)生
select * from Student where weekofyear(Sage) = weekofyear(CURDATE());

43. 查詢下周過生日的學(xué)生

-- 43. 查詢下周過生日的學(xué)生
select * from Student where weekofyear(Sage) = weekofyear(CURDATE()) + 1;

44. 查詢本月過生日的學(xué)生

-- 44. 查詢本月過生日的學(xué)生
select * from Student where month(Sage) = month(CURDATE());

45. 查詢下月過生日的學(xué)生

-- 45. 查詢下月過生日的學(xué)生
select * from Student where month(Sage) = month(CURDATE()) + 1;

習(xí)題

  1. 查詢" 01 "課程比" 02 "課程成績高的學(xué)生的信息及課程分?jǐn)?shù)

1.1 查詢同時(shí)存在" 01 "課程和" 02 "課程的情況

1.2 查詢存在" 01 "課程但可能不存在" 02 "課程的情況(不存在時(shí)顯示為 null )

1.3 查詢不存在" 01 "課程但存在" 02 "課程的情況

  1. 查詢平均成績大于等于 60 分的同學(xué)的學(xué)生編號(hào)和學(xué)生姓名和平均成績

  2. 查詢?cè)?SC 表存在成績的學(xué)生信息

  3. 查詢所有同學(xué)的學(xué)生編號(hào)、學(xué)生姓名褥实、選課總數(shù)呀狼、所有課程的總成績(沒成績的顯示為 null )

4.1 查有成績的學(xué)生信息

  1. 查詢「李」姓老師的數(shù)量

  2. 查詢學(xué)過「張三」老師授課的同學(xué)的信息

  3. 查詢沒有學(xué)全所有課程的同學(xué)的信息

  4. 查詢至少有一門課與學(xué)號(hào)為" 01 "的同學(xué)所學(xué)相同的同學(xué)的信息

  5. 查詢和" 01 "號(hào)的同學(xué)學(xué)習(xí)的課程 完全相同的其他同學(xué)的信息

  6. 查詢沒學(xué)過"張三"老師講授的任一門課程的學(xué)生姓名

  7. 查詢兩門及其以上不及格課程的同學(xué)的學(xué)號(hào),姓名及其平均成績

  8. 檢索" 01 "課程分?jǐn)?shù)小于 60损离,按分?jǐn)?shù)降序排列的學(xué)生信息

  9. 按平均成績從高到低顯示所有學(xué)生的所有課程的成績以及平均成績

  10. 查詢各科成績最高分哥艇、最低分和平均分:以如下形式顯示:課程 ID,課程 name僻澎,最高分貌踏,最低分,平均分怎棱,及格率哩俭,中等率,優(yōu)良率拳恋,優(yōu)秀率凡资,及格為>=60,中等為:70-80谬运,優(yōu)良為:80-90隙赁,優(yōu)秀為:>=90。要求輸出課程號(hào)和選修人數(shù)梆暖,查詢結(jié)果按人數(shù)降序排列伞访,若人數(shù)相同,按課程號(hào)升序排列

  11. 按各科成績進(jìn)行排序轰驳,并顯示排名厚掷, Score 重復(fù)時(shí)保留名次空缺

15.1 按各科成績進(jìn)行排序,并顯示排名级解, Score 重復(fù)時(shí)合并名次

  1. 查詢學(xué)生的總成績冒黑,并進(jìn)行排名,總分重復(fù)時(shí)保留名次空缺

16.1 查詢學(xué)生的總成績勤哗,并進(jìn)行排名抡爹,總分重復(fù)時(shí)不保留名次空缺

  1. 統(tǒng)計(jì)各科成績各分?jǐn)?shù)段人數(shù):課程編號(hào),課程名稱芒划,[100-85]冬竟,[85-70]欧穴,[70-60],[60-0] 及所占百分比

  2. 查詢各科成績前三名的記錄

  3. 查詢每門課程被選修的學(xué)生數(shù)

  4. 查詢出只選修兩門課程的學(xué)生學(xué)號(hào)和姓名

  5. 查詢男生泵殴、女生人數(shù)

  6. 查詢名字中含有「風(fēng)」字的學(xué)生信息

  7. 查詢同名同性學(xué)生名單涮帘,并統(tǒng)計(jì)同名人數(shù)

  8. 查詢 1990 年出生的學(xué)生名單

  9. 查詢每門課程的平均成績,結(jié)果按平均成績降序排列笑诅,平均成績相同時(shí)焚辅,按課程編號(hào)升序排列

  10. 查詢平均成績大于等于 85 的所有學(xué)生的學(xué)號(hào)、姓名和平均成績

  11. 查詢課程名稱為「數(shù)學(xué)」苟鸯,且分?jǐn)?shù)低于 60 的學(xué)生姓名和分?jǐn)?shù)

  12. 查詢所有學(xué)生的課程及分?jǐn)?shù)情況(存在學(xué)生沒成績同蜻,沒選課的情況)

  13. 查詢?nèi)魏我婚T課程成績?cè)?70 分以上的姓名、課程名稱和分?jǐn)?shù)

  14. 查詢不及格的課程

  15. 查詢課程編號(hào)為 01 且課程成績?cè)?80 分以上的學(xué)生的學(xué)號(hào)和姓名

  16. 求每門課程的學(xué)生人數(shù)

  17. 成績不重復(fù)早处,查詢選修「張三」老師所授課程的學(xué)生中湾蔓,成績最高的學(xué)生信息及其成績

  18. 成績有重復(fù)的情況下,查詢選修「張三」老師所授課程的學(xué)生中砌梆,成績最高的學(xué)生信息及其成績

  19. 查詢不同課程成績相同的學(xué)生的學(xué)生編號(hào)默责、課程編號(hào)、學(xué)生成績

  20. 查詢每門功成績最好的前兩名

  21. 統(tǒng)計(jì)每門課程的學(xué)生選修人數(shù)(超過 5 人的課程才統(tǒng)計(jì))咸包。

  22. 檢索至少選修兩門課程的學(xué)生學(xué)號(hào)

  23. 查詢選修了全部課程的學(xué)生信息

  24. 查詢各學(xué)生的年齡桃序,只按年份來算

  25. 按照出生日期來算,當(dāng)前月日 < 出生年月的月日則烂瘫,年齡減一

  26. 查詢本周過生日的學(xué)生

  27. 查詢下周過生日的學(xué)生

  28. 查詢本月過生日的學(xué)生

  29. 查詢下月過生日的學(xué)生

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末媒熊,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子坟比,更是在濱河造成了極大的恐慌芦鳍,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件葛账,死亡現(xiàn)場離奇詭異柠衅,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)籍琳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門菲宴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人趋急,你說我怎么就攤上這事喝峦。” “怎么了宣谈?”我有些...
    開封第一講書人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵愈犹,是天一觀的道長键科。 經(jīng)常有香客問我闻丑,道長漩怎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任嗦嗡,我火速辦了婚禮勋锤,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘侥祭。我一直安慰自己叁执,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開白布矮冬。 她就那樣靜靜地躺著谈宛,像睡著了一般。 火紅的嫁衣襯著肌膚如雪胎署。 梳的紋絲不亂的頭發(fā)上吆录,一...
    開封第一講書人閱讀 51,198評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音琼牧,去河邊找鬼恢筝。 笑死惊来,一個(gè)胖子當(dāng)著我的面吹牛冗疮,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播恤煞,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼趾撵,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼侄柔!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起占调,我...
    開封第一講書人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤勋拟,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后妈候,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體敢靡,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年苦银,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了啸胧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡幔虏,死狀恐怖纺念,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情想括,我是刑警寧澤陷谱,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響烟逊,放射性物質(zhì)發(fā)生泄漏渣窜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一宪躯、第九天 我趴在偏房一處隱蔽的房頂上張望乔宿。 院中可真熱鬧,春花似錦访雪、人聲如沸详瑞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽坝橡。三九已至,卻和暖如春精置,著一層夾襖步出監(jiān)牢的瞬間驳庭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來泰國打工氯窍, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留饲常,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓狼讨,卻偏偏與公主長得像贝淤,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子政供,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 網(wǎng)上流傳較廣的50道SQL訓(xùn)練播聪,奮斗了不知道多久終于寫完了。前18道題的難度依次遞增布隔,從19題開始的后半部分算是循...
    Kaidi_G閱讀 474,655評(píng)論 312 452
  • 練習(xí)前的準(zhǔn)備 SQL環(huán)境搭建 http://www.reibang.com/p/edca5142391c 建表語...
    TOMOCAT閱讀 23,525評(píng)論 3 30
  • 數(shù)據(jù)表介紹 --1.學(xué)生表 Student(SId, Sname, Sage, Ssex)SId 學(xué)生編號(hào), Sn...
    ZachXu閱讀 2,834評(píng)論 0 2
  • MySQL測試題 一衅檀、表關(guān)系 請(qǐng)創(chuàng)建如下表招刨,并創(chuàng)建相關(guān)約束 二、操作表 1哀军、自行創(chuàng)建測試數(shù)據(jù) 2沉眶、查詢“生物”課程...
    go以恒閱讀 11,313評(píng)論 0 6
  • 網(wǎng)上流傳這這樣的50道練習(xí)題,以下是我的解法杉适,僅供各位聯(lián)系和參考 數(shù)據(jù)表介紹 --1.學(xué)生表Student(SId...
    一葉云秋閱讀 3,251評(píng)論 2 31