一陨瘩、 表名和字段
? ?1.學(xué)生表
? -- Student(s_id,s_name,s_birth,s_sex) --學(xué)生編號,學(xué)生姓名, 出生年月,學(xué)生性別
? ?2.課程表
? --? Course(c_id,c_name,t_id) – --課程編號, 課程名稱, 教師編號
? ?3.教師表
? -- Teacher(t_id,t_name) --教師編號,教師姓名
? ?4.成績表
? -- Score(s_id,c_id,s_score) --學(xué)生編號,課程編號,分?jǐn)?shù)
-- 測試數(shù)據(jù)
? 二挤巡、 建表
? 1. 學(xué)生表
CREATE TABLE `Student`(
`s_id` VARCHAR(20),
`s_name` VARCHAR(20) NOT NULL DEFAULT '',
`s_birth` VARCHAR(20) NOT NULL DEFAULT '',
`s_sex` VARCHAR(10) NOT NULL DEFAULT '',
PRIMARY KEY(`s_id`)
);
? 2.課程表
CREATE TABLE `Course`(
`c_id`? VARCHAR(20),
`c_name` VARCHAR(20) NOT NULL DEFAULT '',
`t_id` VARCHAR(20) NOT NULL,
PRIMARY KEY(`c_id`)
);
?3. 教師表
CREATE TABLE `Teacher`(
`t_id` VARCHAR(20),
`t_name` VARCHAR(20) NOT NULL DEFAULT '',
PRIMARY KEY(`t_id`)
);
? 4. 成績表
CREATE TABLE `Score`(
`s_id` VARCHAR(20),
`c_id`? VARCHAR(20),
`s_score` INT(3),
PRIMARY KEY(`s_id`,`c_id`)
);
5. 插入學(xué)生表測試數(shù)據(jù)
insert into Student values('01' , '趙雷' , '1990-01-01' , '男');
insert into Student values('02' , '錢電' , '1990-12-21' , '男');
insert into Student values('03' , '孫風(fēng)' , '1990-05-20' , '男');
insert into Student values('04' , '李云' , '1990-08-06' , '男');
insert into Student values('05' , '周梅' , '1991-12-01' , '女');
insert into Student values('06' , '吳蘭' , '1992-03-01' , '女');
insert into Student values('07' , '鄭竹' , '1989-07-01' , '女');
insert into Student values('08' , '王菊' , '1990-01-20' , '女');
?2. 課程表測試數(shù)據(jù)
insert into Course values('01' , '語文' , '02');
insert into Course values('02' , '數(shù)學(xué)' , '01');
insert into Course values('03' , '英語' , '03');
?3.教師表測試數(shù)據(jù)
insert into Teacher values('01' , '張三');
insert into Teacher values('02' , '李四');
insert into Teacher values('03' , '王五');
4.成績表測試數(shù)據(jù)
insert into Score values('01' , '01' , 80);
insert into Score values('01' , '02' , 90);
insert into Score values('01' , '03' , 99);
insert into Score values('02' , '01' , 70);
insert into Score values('02' , '02' , 60);
insert into Score values('02' , '03' , 80);
insert into Score values('03' , '01' , 80);
insert into Score values('03' , '02' , 80);
insert into Score values('03' , '03' , 80);
insert into Score values('04' , '01' , 50);
insert into Score values('04' , '02' , 30);
insert into Score values('04' , '03' , 20);
insert into Score values('05' , '01' , 76);
insert into Score values('05' , '02' , 87);
insert into Score values('06' , '01' , 31);
insert into Score values('06' , '03' , 34);
insert into Score values('07' , '02' , 89);
insert into Score values('07' , '03' , 98);
三、題目
-- 1、查詢"01"課程比"02"課程成績高的學(xué)生的信息及課程分?jǐn)?shù)
-- 2、查詢"01"課程比"02"課程成績低的學(xué)生的信息及課程分?jǐn)?shù)
-- 3、查詢平均成績大于等于60分的同學(xué)的學(xué)生編號和學(xué)生姓名和平均成績
-- 4、查詢平均成績小于60分的同學(xué)的學(xué)生編號和學(xué)生姓名和平均成績
-- (包括有成績的和無成績的)
-- 5副硅、查詢所有同學(xué)的學(xué)生編號、學(xué)生姓名拓哟、選課總數(shù)想许、所有課程的總成績
-- 6、查詢"李"姓老師的數(shù)量
-- 7断序、查詢學(xué)過"張三"老師授課的同學(xué)的信息
-- 8流纹、查詢沒學(xué)過"張三"老師授課的同學(xué)的信息
-- 9、查詢學(xué)過編號為"01"并且也學(xué)過編號為"02"的課程的同學(xué)的信息
-- 10违诗、查詢學(xué)過編號為"01"但是沒有學(xué)過編號為"02"的課程的同學(xué)的信息
-- 11漱凝、查詢沒有學(xué)全所有課程的同學(xué)的信息
-- 12、查詢至少有一門課與學(xué)號為"01"的同學(xué)所學(xué)相同的同學(xué)的信息
-- 13诸迟、查詢和"01"號的同學(xué)學(xué)習(xí)的課程完全相同的其他同學(xué)的信息
-- 14茸炒、查詢沒學(xué)過"張三"老師講授的任一門課程的學(xué)生姓名
-- 15、查詢兩門及其以上不及格課程的同學(xué)的學(xué)號阵苇,姓名及其平均成績
-- 16壁公、檢索"01"課程分?jǐn)?shù)小于60,按分?jǐn)?shù)降序排列的學(xué)生信息
-- 17绅项、按平均成績從高到低顯示所有學(xué)生的所有課程的成績以及平均成績
-- 18.查詢各科成績最高分紊册、最低分和平均分:以如下形式顯示:課程ID,課程name快耿,最高分囊陡,最低分,平均分掀亥,及格率撞反,中等率,優(yōu)良率搪花,優(yōu)秀率
-- 及格為>=60遏片,中等為:70-80,優(yōu)良為:80-90撮竿,優(yōu)秀為:>=90
-- 19丁稀、按各科成績進(jìn)行排序,并顯示排名
-- 20倚聚、查詢學(xué)生的總成績并進(jìn)行排名
-- 21、查詢不同老師所教不同課程平均分從高到低顯示
-- 22凿可、查詢所有課程的成績第2名到第3名的學(xué)生信息及該課程成績
-- 23惑折、統(tǒng)計各科成績各分?jǐn)?shù)段人數(shù):課程編號,課程名稱,[100-85],[85-70],[70-60],[0-60]及所占百分比
-- 24授账、查詢學(xué)生平均成績及其名次
-- 25、查詢各科成績前三名的記錄
-- 26惨驶、查詢每門課程被選修的學(xué)生數(shù)
-- 27白热、查詢出只有兩門課程的全部學(xué)生的學(xué)號和姓名
-- 28、查詢男生粗卜、女生人數(shù)
-- 29屋确、查詢名字中含有"風(fēng)"字的學(xué)生信息
-- 30、查詢同名同性學(xué)生名單续扔,并統(tǒng)計同名人數(shù)
-- 31攻臀、查詢1990年出生的學(xué)生名單
-- 32、查詢每門課程的平均成績纱昧,結(jié)果按平均成績降序排列刨啸,平均成績相同時,按課程編號升序排列
-- 33识脆、查詢平均成績大于等于85的所有學(xué)生的學(xué)號设联、姓名和平均成績
-- 34、查詢課程名稱為"數(shù)學(xué)"灼捂,且分?jǐn)?shù)低于60的學(xué)生姓名和分?jǐn)?shù)
-- 35离例、查詢所有學(xué)生的課程及分?jǐn)?shù)情況;
-- 36悉稠、查詢?nèi)魏我婚T課程成績在70分以上的姓名宫蛆、課程名稱和分?jǐn)?shù);
-- 37偎球、查詢不及格的課程
-- 38洒扎、查詢課程編號為01且課程成績在80分以上的學(xué)生的學(xué)號和姓名;
-- 39衰絮、求每門課程的學(xué)生人數(shù)
-- 40袍冷、查詢選修"張三"老師所授課程的學(xué)生中,成績最高的學(xué)生信息及其成績
-- 41猫牡、查詢不同課程成績相同的學(xué)生的學(xué)生編號胡诗、課程編號、學(xué)生成績
-- 42淌友、查詢每門功成績最好的前兩名
-- 43煌恢、統(tǒng)計每門課程的學(xué)生選修人數(shù)(超過5人的課程才統(tǒng)計)。要求輸出課程號和選修人數(shù)震庭,查詢結(jié)果按人數(shù)降序排列瑰抵,若人數(shù)相同,按課程號升序排列
-- 44器联、檢索至少選修兩門課程的學(xué)生學(xué)號
-- 45二汛、查詢選修了全部課程的學(xué)生信息
-- 46婿崭、查詢各學(xué)生的年齡
-- 按照出生日期來算,當(dāng)前月日 < 出生年月的月日則肴颊,年齡減一
-- 47氓栈、查詢本周過生日的學(xué)生
-- 48、查詢下周過生日的學(xué)生
-- 49婿着、查詢本月過生日的學(xué)生
-- 50授瘦、查詢下月過生日的學(xué)生
四、mysql 練習(xí)
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
20.
21.
23.
24.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35
36.
37.
38.
39.
40.
41.
43.
44.
45
46.
47.