習(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í)題
- 查詢" 01 "課程比" 02 "課程成績高的學(xué)生的信息及課程分?jǐn)?shù)
1.1 查詢同時(shí)存在" 01 "課程和" 02 "課程的情況
1.2 查詢存在" 01 "課程但可能不存在" 02 "課程的情況(不存在時(shí)顯示為 null )
1.3 查詢不存在" 01 "課程但存在" 02 "課程的情況
查詢平均成績大于等于 60 分的同學(xué)的學(xué)生編號(hào)和學(xué)生姓名和平均成績
查詢?cè)?SC 表存在成績的學(xué)生信息
查詢所有同學(xué)的學(xué)生編號(hào)、學(xué)生姓名褥实、選課總數(shù)呀狼、所有課程的總成績(沒成績的顯示為 null )
4.1 查有成績的學(xué)生信息
查詢「李」姓老師的數(shù)量
查詢學(xué)過「張三」老師授課的同學(xué)的信息
查詢沒有學(xué)全所有課程的同學(xué)的信息
查詢至少有一門課與學(xué)號(hào)為" 01 "的同學(xué)所學(xué)相同的同學(xué)的信息
查詢和" 01 "號(hào)的同學(xué)學(xué)習(xí)的課程 完全相同的其他同學(xué)的信息
查詢沒學(xué)過"張三"老師講授的任一門課程的學(xué)生姓名
查詢兩門及其以上不及格課程的同學(xué)的學(xué)號(hào),姓名及其平均成績
檢索" 01 "課程分?jǐn)?shù)小于 60损离,按分?jǐn)?shù)降序排列的學(xué)生信息
按平均成績從高到低顯示所有學(xué)生的所有課程的成績以及平均成績
查詢各科成績最高分哥艇、最低分和平均分:以如下形式顯示:課程 ID,課程 name僻澎,最高分貌踏,最低分,平均分怎棱,及格率哩俭,中等率,優(yōu)良率拳恋,優(yōu)秀率凡资,及格為>=60,中等為:70-80谬运,優(yōu)良為:80-90隙赁,優(yōu)秀為:>=90。要求輸出課程號(hào)和選修人數(shù)梆暖,查詢結(jié)果按人數(shù)降序排列伞访,若人數(shù)相同,按課程號(hào)升序排列
按各科成績進(jìn)行排序轰驳,并顯示排名厚掷, Score 重復(fù)時(shí)保留名次空缺
15.1 按各科成績進(jìn)行排序,并顯示排名级解, Score 重復(fù)時(shí)合并名次
- 查詢學(xué)生的總成績冒黑,并進(jìn)行排名,總分重復(fù)時(shí)保留名次空缺
16.1 查詢學(xué)生的總成績勤哗,并進(jìn)行排名抡爹,總分重復(fù)時(shí)不保留名次空缺
統(tǒng)計(jì)各科成績各分?jǐn)?shù)段人數(shù):課程編號(hào),課程名稱芒划,[100-85]冬竟,[85-70]欧穴,[70-60],[60-0] 及所占百分比
查詢各科成績前三名的記錄
查詢每門課程被選修的學(xué)生數(shù)
查詢出只選修兩門課程的學(xué)生學(xué)號(hào)和姓名
查詢男生泵殴、女生人數(shù)
查詢名字中含有「風(fēng)」字的學(xué)生信息
查詢同名同性學(xué)生名單涮帘,并統(tǒng)計(jì)同名人數(shù)
查詢 1990 年出生的學(xué)生名單
查詢每門課程的平均成績,結(jié)果按平均成績降序排列笑诅,平均成績相同時(shí)焚辅,按課程編號(hào)升序排列
查詢平均成績大于等于 85 的所有學(xué)生的學(xué)號(hào)、姓名和平均成績
查詢課程名稱為「數(shù)學(xué)」苟鸯,且分?jǐn)?shù)低于 60 的學(xué)生姓名和分?jǐn)?shù)
查詢所有學(xué)生的課程及分?jǐn)?shù)情況(存在學(xué)生沒成績同蜻,沒選課的情況)
查詢?nèi)魏我婚T課程成績?cè)?70 分以上的姓名、課程名稱和分?jǐn)?shù)
查詢不及格的課程
查詢課程編號(hào)為 01 且課程成績?cè)?80 分以上的學(xué)生的學(xué)號(hào)和姓名
求每門課程的學(xué)生人數(shù)
成績不重復(fù)早处,查詢選修「張三」老師所授課程的學(xué)生中湾蔓,成績最高的學(xué)生信息及其成績
成績有重復(fù)的情況下,查詢選修「張三」老師所授課程的學(xué)生中砌梆,成績最高的學(xué)生信息及其成績
查詢不同課程成績相同的學(xué)生的學(xué)生編號(hào)默责、課程編號(hào)、學(xué)生成績
查詢每門功成績最好的前兩名
統(tǒng)計(jì)每門課程的學(xué)生選修人數(shù)(超過 5 人的課程才統(tǒng)計(jì))咸包。
檢索至少選修兩門課程的學(xué)生學(xué)號(hào)
查詢選修了全部課程的學(xué)生信息
查詢各學(xué)生的年齡桃序,只按年份來算
按照出生日期來算,當(dāng)前月日 < 出生年月的月日則烂瘫,年齡減一
查詢本周過生日的學(xué)生
查詢下周過生日的學(xué)生
查詢本月過生日的學(xué)生
查詢下月過生日的學(xué)生