前言
在學習了Mysql的基礎知識後,我們用一套sql練習題來實戰一下。
關於練習所需要的數據,讓我們繼續玩壞倚天屠龍的江湖。
1、學生表 student
(s_id:學生id,s_name:學生姓名,s_birth:學生生日,s_sex:學生性別):
2、教師表teacher(t_id:教師id,t_name:教師姓名)
3、課程表 course
(c_id:課程id,c_name:課程名稱,t_id:教師id):
4、成績表 score(s_id:學生id,c_id:課程id,score:分數)
初始化數據的sql附在文章末尾
題目開始,先上幾道硬菜,磕到牙齒的可以移步進階題目和基礎題目區壓壓驚。
挑戰
1、查詢各科成績前三名的記錄
--方法1:
SELECT
s_name,a.s_id,a.c_id,a.score
FROM
score a
LEFT JOIN
score b
ON
a.c_id = b.c_id AND a.score<b.score
JOIN
student
ON
a.s_id=student.s_id
GROUP BY
a.s_id,a.c_id,a.score HAVING COUNT(b.s_id)<3
ORDER BY
a.c_id,a.score DESC
--方法2:
SELECT
a.s_id,a.c_id,a.score
FROM
score a
WHERE
(SELECT COUNT(1) FROM score b WHERE b.c_id=a.c_id
AND b.score>=a.score)<=2 ORDER BY a.c_id
簡評:非常難以理解的一道題目,即使想透徹了也不容易記住,堪稱勸退型難題。面試中,偶爾會考察。
難度:⭐⭐⭐⭐⭐
易考率:⭐⭐
思路:
1、SELECT * FROM score a JOIN score b ON a.c_id=b.c_id WHERE a.c_id=‘03’ 這一句,形成了03課程的所有學員的兩兩組合(帶上03,是爲了簡化數據,便於分析)
2、SELECT * FROM score a JOIN score b ON a.c_id=b.c_id WHERE a.c_id=‘03’ AND a.score<b.score又篩選出每個學員03課程比其他人低的情況(某個學員分越低,記錄越多,沒記錄說明是最高分)
3、將這些記錄按s_id分組,篩選出記錄數小於3的(說明最多有兩個人比自己分數高),即是前3名
2、查詢“01”課程比“02”課程成績高的所有學生的學號
SELECT
*
FROM
(SELECT s_id,score,c_id FROM score WHERE c_id='01') a
JOIN
(SELECT s_id,score,c_id FROM score WHERE c_id='02') b
ON
a.s_id=b.s_id
WHERE
a.score>b.score
簡評:不容易想到,但答案相對第1題來說,就好理解多了。
難度:⭐⭐⭐⭐
頻率:⭐⭐
思路:通過SELECT s_id,score,c_id FROM score WHERE c_id='01’和SELECT s_id,score,c_id FROM score WHERE c_id='02’的兩個臨時表聯查,得到每個學員的01、02課程成績情況:
接下來,a.score>b.score條件直接篩選就可以了。
3、查詢和"04"號的同學學習的課程完全相同的其他同學的信息
SELECT
score.s_id,COUNT(DISTINCT c_id)
FROM
student JOIN score ON student.s_id=score.s_id
GROUP BY
score.s_id
HAVING COUNT(DISTINCT c_id)=
(SELECT COUNT(c_id) FROM score WHERE s_id='04')
AND
s_id
NOT IN
-- 篩選出學過(04號同學未學課程)的學生,通過not in排除掉
(SELECT s_id FROM score WHERE c_id IN
(SELECT DISTINCT(c_id) FROM course WHERE c_id
NOT IN
(SELECT c_id FROM score WHERE s_id='04')))
AND score.s_id!='04'
簡評:難在思路的迂迴性。面試中,很多有難度的sql也大多難在直接去考慮,難以獲得答案。
難度:⭐⭐⭐⭐
頻率:⭐⭐
思路:通常思路,我們先獲取04號同學的課程,再遍歷其他同學,以此篩選。這種方式適用於編程,單純的sql實現不了,我們應該從下面這個思路去考慮------>我和04號同學學習的課程數目一樣多,且04號同學沒學過的我也沒學過,那麼我不就是和04號同學學習的課程一樣嗎?
4、按平均成績從高到低顯示所有學生的所有課程的成績以及平均成績
SELECT
a.s_id,b.s_name,
MAX(CASE a.c_id WHEN '01' THEN a.score END ) 內功,
MAX(CASE a.c_id WHEN '02' THEN a.score END ) 劍法,
MAX(CASE a.c_id WHEN '03' THEN a.score END ) 拳法,
AVG(a.score)
FROM
score a
JOIN
student b ON a.s_id=b.s_id
GROUP BY a.s_id ORDER BY AVG(a.score) DESC
簡評:思路不難,關鍵在於理解透徹case when語法。
難度:⭐⭐⭐
頻率:⭐⭐
SELECT a.c_id,b.c_name,MAX(score),MIN(score),ROUND(AVG(score),2),
ROUND(100*(SUM(case when a.score>=60 then 1 else 0 end)/SUM(case when a.score then 1 else 0 end)),2) as 及格率,
ROUND(100*(SUM(case when a.score>=70 and a.score<=80 then 1 else 0 end)/SUM(case when a.score then 1 else 0 end)),2) as 中等率,
ROUND(100*(SUM(case when a.score>=80 and a.score<=90 then 1 else 0 end)/SUM(case when a.score then 1 else 0 end)),2) as 優良率,
ROUND(100*(SUM(case when a.score>=90 then 1 else 0 end)/SUM(case when a.score then 1 else 0 end)),2) as 優秀率
FROM
score a
LEFT JOIN
course b
ON a.c_id = b.c_id GROUP BY a.c_id,b.c_name
簡評:在case when語法的基礎上,進一步掌握sql語句中進行邏輯運算的技巧
難度:★★★☆
頻率:★★★
5、按各科成績進行排序,並顯示排名
SELECT a.s_id,a.c_id,
@i:=@i + 1 AS 排名,
@j:=(CASE WHEN @score=a.score THEN @j ELSE @i END) AS 並排排名,
@score:=a.score AS score
FROM
(SELECT s_id,c_id,score FROM score GROUP BY s_id,c_id ORDER BY score DESC) a,
(SELECT @i:= 0,@j:= 0,@score:= 0) s
簡評:Mysql中沒有rank函數,只能使用僞列的概念去實現排名算法。
難度:★★★★
頻率:★★
思路:
1、SELECT s_id,c_id,score FROM score GROUP BY s_id,c_id ORDER BY score DESC先進行了排序
2、(SELECT @i:=0,@j:=0,@score:=0) s對@i、@j、@score進行了初始化,初始值都爲0
3、@i:=@i + 1,遍歷每一行,@i逐行自增
4、@j:=(CASE WHEN @score=a.score THEN @j ELSE @i END),遍歷每一行,邏輯判斷,@score與上一行的score相等則@j=@i,否則則自增一次
6、查詢學生的總成績並進行排名
SELECT a.s_id,
@i:=@i+1 as i,
@j:=(CASE WHEN @score=a.sum_score THEN @j ELSE @i END) AS rank,
@score:=a.sum_score AS score
FROM
(SELECT s_id,SUM(score) AS sum_score FROM score GROUP BY s_id ORDER BY sum_score DESC)a,
(SELECT @i:=0,@j:=0,@score:=0) s
簡評:與上一題基本差不多,不同的是a這個臨時表的數據內容而已。
難度:★★★★
頻率:★★
7、查詢所有課程的成績第2名到第3名的學生信息及該課程成績
SELECT
student.*,c.rank,c.score,c.c_id
FROM
(SELECT a.s_id,a.score,a.c_id,@i:=@i+1 as rank from score a,(SELECT @i:=0)s
WHERE a.c_id='01' ORDER BY a.score DESC) c
LEFT JOIN
student ON c.s_id=student.s_id
WHERE rank BETWEEN 2 AND 3
UNION ALL
SELECT
student.*,c.rank,c.score,c.c_id
FROM
(SELECT a.s_id,a.score,a.c_id,@j:=@j+1 as rank from score a,(SELECT @j:=0)s
WHERE a.c_id='02' ORDER BY a.score DESC) c
LEFT JOIN
student ON c.s_id=student.s_id
WHERE
rank BETWEEN 2 AND 3
UNION ALL
SELECT
student.*,c.rank,c.score,c.c_id
FROM
(SELECT a.s_id,a.score,a.c_id,@k:=@k+1 as rank from score a,(SELECT @k:=0)s
WHERE a.c_id='03' ORDER BY a.score DESC) c
LEFT JOIN
student ON c.s_id=student.s_id
WHERE rank BETWEEN 2 AND 3
簡評:sql很長,不要被嚇到,其實是3個相同的部分(where條件不同)通過UNION ALL合併而已。另外,篩選2、3名也是在排名的基礎上進一步篩選。
難度:★★★★☆
頻率:★★
思路:
1、先將01課程的所有人的分數排序,再進一步根據rank BETWEEN 2 AND 3
篩選出2、3名
2、使用同樣方法,篩選02、03課程數據,使用UNION ALL
合併查詢結果
8、統計各科成績各分數段人數:課程編號、課程名稱、[80-100],[60-80],[0-60]及所佔百分比
SELECT
DISTINCT e.c_name,a.c_id,b.`80-100`,b.百分比,c.`60-80`,c.百分比,d.`0-60`,d.百分比
FROM
score a
LEFT JOIN
(SELECT c_id,SUM(CASE WHEN score >80 AND score <=100 THEN 1 ELSE 0 END) AS `80-100`,
ROUND(100*(SUM(CASE WHEN score >80 AND score <=100 THEN 1 ELSE 0 end)/count(*)),2)
AS 百分比 FROM score GROUP BY c_id)b ON a.c_id=b.c_id
LEFT JOIN
(SELECT c_id,SUM(CASE WHEN score >60 AND score <=80 THEN 1 ELSE 0 END) AS `60-80`,
ROUND(100*(SUM(CASE WHEN score >60 AND score <=80 THEN 1 ELSE 0 end)/count(*)),2)
AS 百分比 FROM score GROUP BY c_id)c ON a.c_id=c.c_id
LEFT JOIN
(SELECT c_id,SUM(CASE WHEN score >=0 AND score <=60 THEN 1 ELSE 0 END) AS `0-60`,
ROUND(100*(SUM(CASE WHEN score >=0 AND score <=60 THEN 1 ELSE 0 END)/count(*)),2)
AS 百分比 FROM score GROUP BY c_id)d ON a.c_id=d.c_id
LEFT JOIN
course e ON a.c_id = e.c_id
簡評:
CASE WHEN
和sql語句內進行邏輯運算的又一次應用。
難度:★★★★
頻率:★★
思路:SELECT c_id,SUM(CASE WHEN score >80 AND score <=100 THEN 1 ELSE 0 END) AS
80-100, ROUND(100*(SUM(CASE WHEN score >80 AND score <=100 THEN 1 ELSE 0 END)/count(*)),2) AS 百分比 FROM score GROUP BY c_id
得到所有課程80-100分成績的統計臨時表:
然後再用同樣的方式,得到0-60、60-80的統計臨時表,三表聯查。
9、查詢學生平均成績及其名次
SELECT a.s_id,
@i:=@i+1 as '不保留空缺排名',
@k:=(CASE WHEN @avg_score=a.avg_s THEN @k ELSE @i END) AS '保留空缺排名',
@avg_score:=avg_s AS '平均分'
FROM
(SELECT s_id,ROUND(AVG(score),2) AS avg_s FROM
score GROUP BY s_id ORDER BY avg_s DESC)a,
(SELECT @avg_score:=0,@i:=0,@k:=0)b;
簡評:與第5題類似,沒什麼特別需要說的。
難度:★★★★
頻率:★★
10、查詢各學生的年齡
SELECT
s_birth,(DATE_FORMAT(NOW(),'%Y')-DATE_FORMAT(s_birth,'%Y') -
(CASE WHEN DATE_FORMAT(NOW(),'%m%d')>DATE_FORMAT(s_birth,'%m%d') THEN 0 ELSE 1 END))
AS age
FROM student;
簡評:本身的實現思路並不難,
DATE_FORMAT
掌握其用法即可。
11、分別查詢本週、下週、本月、下月過生日的學生
--本週
SELECT * FROM student WHERE WEEK(DATE_FORMAT(NOW(),'%Y%m%d'))=WEEK(s_birth)
--下週
SELECT * FROM student WHERE WEEK(DATE_FORMAT(NOW(),'%Y%m%d'))+1 = WEEK(s_birth)
--本月
SELECT * FROM student WHERE MONTH(DATE_FORMAT(NOW(),'%Y%m%d')) =MONTH(s_birth)
--下月
SELECT * FROM student WHERE MONTH(DATE_FORMAT(NOW(),'%Y%m%d'))+1 =MONTH(s_birth)
進階
1、查詢及格學生(每門課程的分數>=60)的學生姓名
SELECT s_name FROM
student
WHERE s_id NOT IN
(SELECT DISTINCT(s_id) FROM score WHERE score<60)
或者:
SELECT s_name FROM
student a JOIN score b ON a.s_id=b.s_id
GROUP BY b.s_id HAVING MIN(score)>60
2、查詢平均成績小於60分的同學的學生編號和學生姓名和平均成績 (包括有成績的和無成績的)
SELECT
s_name,ROUND(avg(score),2) AS avg
FROM
student
JOIN
score ON student.s_id=score.s_id
GROUP BY
score.s_id HAVING avg<60
UNION ALL
SELECT
s_name,0 AS avg
FROM
student
WHERE s_id NOT IN(SELECT DISTINCT(s_id) FROM score)
-- 方法2
SELECT
s_name,IFNULL(ROUND(avg(score),2),0) AS avg
FROM
student
LEFT JOIN
score ON student.s_id=score.s_id
GROUP BY score.s_id HAVING avg<60 OR avg is NULL
3、查詢學過"張三丰"老師授課的同學的信息
SELECT
*
FROM
score JOIN student ON score.s_id=student.s_id
WHERE c_id IN
(SELECT c_id FROM course c JOIN teacher t ON c.t_id=t.t_id WHERE t_name='張三丰')
4、查詢沒學過"張三丰"老師授課的同學的信息
SELECT
*
FROM
student
WHERE s_id NOT IN
(SELECT s_id FROM score WHERE c_id
IN
(SELECT c_id FROM course c JOIN teacher t ON c.t_id=t.t_id WHERE t_name='張三丰'))
5、查詢沒有學全所有課程的同學的信息
SELECT
s_name,COUNT(c_id) AS count
FROM
student
LEFT JOIN
score ON student.s_id=score.s_id
GROUP BY
student.s_id HAVING count<(SELECT COUNT(1) FROM course);
6、查詢至少有一門課與學號爲"01"的同學所學相同的同學的信息
SELECT * FROM
student
WHERE s_id IN
(SELECT DISTINCT a.s_id FROM score a WHERE a.c_id
IN
(SELECT a.c_id FROM score a WHERE a.s_id='01'));
7、查詢兩門及其以上不及格課程的同學的學號,姓名及其平均成績
SELECT
a.s_id,a.s_name,ROUND(AVG(b.score))
FROM
student a
LEFT JOIN
score b ON a.s_id = b.s_id
WHERE a.s_id IN
(SELECT s_id from score WHERE score<60 GROUP BY s_id HAVING count(1)>=2)
GROUP BY a.s_id,a.s_name
8、查詢所有學生的課程及分數情況;
SELECT
a.s_id,a.s_name,
SUM(CASE c.c_name WHEN '內功' THEN b.score ELSE 0 END) AS '內功',
SUM(CASE c.c_name WHEN '劍法' THEN b.score ELSE 0 END) AS '劍法',
SUM(CASE c.c_name WHEN '拳法' THEN b.score ELSE 0 END) AS '拳法',
SUM(b.score) as '總分'
FROM
student a
LEFT JOIN
score b ON a.s_id = b.s_id
LEFT JOIN
course c ON b.c_id = c.c_id
GROUP BY a.s_id,a.s_name
9、查詢選修"張三丰"老師所授課程的學生中,成績最高的學生信息及其成績
SELECT
s_id,MAX(score)
FROM
score
WHERE
c_id
IN
(SELECT c_id FROM teacher JOIN course
ON teacher.t_id=course.t_id WHERE t_name='張三丰')
10、查詢不同課程成績相同的學生的學生編號、課程編號、學生成績
SELECT * FROM score a,score b where a.c_id != b.c_id and a.score = b.score
11、統計每門課程的學生選修人數(超過5人的課程才統計)。要求輸出課程號和選修人數,查詢結果按人數降序排列,若人數相同,按課程號升序排列
SELECT
c_id,COUNT(*) AS total
FROM
score
GROUP BY c_id HAVING total>4 ORDER BY total DESC,c_id ASC
12、查詢選修了全部課程的學生信息
SELECT
* FROM student WHERE s_id
IN
(SELECT s_id FROM score GROUP BY s_id HAVING COUNT(*)=(SELECT COUNT(*) FROM course))
基礎
1、查詢不及格的課程
SELECT
a.s_id,a.c_id,b.c_name,a.score
FROM
score a
LEFT JOIN
course b ON a.c_id = b.c_id
WHERE a.score<60
2、查詢課程編號爲01且課程成績在80分以上的學生的學號和姓名
SELECT
a.s_id,b.s_name
FROM
score a
LEFT JOIN
student b ON a.s_id = b.s_id
WHERE a.c_id = '01' AND a.score>80
3、查詢每個同學的姓名、選課數、總成績
SELECT
s_name,COUNT(c_id),SUM(score)
FROM
student a
LEFT JOIN
score b ON a.s_id=b.s_id
GROUP BY b.s_id
4、查詢平均成績大於等於60分的同學的學生編號和學生姓名和平均成績
SELECT
s_name,ROUND(avg(score),2) AS avg
FROM
student
JOIN
score ON student.s_id=score.s_id
GROUP BY score.s_id HAVING avg>60
5、查詢所有同學的學生編號、學生姓名、選課總數、所有課程的總成績
SELECT student.s_name,COUNT(c_id),IFNULL(SUM(score),0) AS sum FROM student LEFT JOIN score ON student.s_id=score.s_id GROUP BY student.s_id ORDER BY sum DESC
6、查詢"張"姓老師的數量
SELECT COUNT(t_id) FROM teacher WHERE t_name LIKE '張%'
7、查詢"01"課程分數小於60,按分數降序排列的學生信息
SELECT
a.*,b.c_id,b.score
FROM
student a,score b
WHERE
a.s_id=b.s_id
AND
b.c_id='01' AND b.score<60
ORDER BY
b.score DESC;
8、查詢任何一門課程成績在70分以上的姓名、課程名稱和分數
SELECT
a.s_name,b.c_name,c.score
FROM
course b
LEFT JOIN
score c ON b.c_id = c.c_id
LEFT JOIN
student a ON a.s_id=c.s_id
WHERE c.score>=70
9、查詢學過編號爲"01"並且也學過編號爲"02"的課程的同學的信息
SELECT a.* FROM
student a,score b,score c
WHERE a.s_id = b.s_id AND a.s_id = c.s_id AND b.c_id='01' AND c.c_id='02';
10、查詢學過編號爲"01"但是沒有學過編號爲"02"的課程的同學的信息
SELECT a.* FROM
student a
WHERE
a.s_id
IN
(SELECT s_id FROM score WHERE c_id='01' )
AND
a.s_id NOT IN(SELECT s_id FROM score WHERE c_id='02')
11、查詢男生、女生人數
SELECT s_sex,COUNT(s_sex) FROM student GROUP BY s_sex
12、查詢名字中含有"圓"字的學生信息
SELECT * FROM student WHERE s_name LIKE '%圓%';
13、查詢同名同性學生名單,並統計同名人數
SELECT
a.s_name,a.s_sex,count(*)
FROM
student a JOIN student b
ON
a.s_id !=b.s_id and a.s_name = b.s_name
AND
a.s_sex = b.s_sex
GROUP BY a.s_name,a.s_sex
14、查詢1990年出生的學生名單
SELECT s_name FROM student WHERE s_birth LIKE '1337%'
15、查詢每門課程的平均成績,結果按平均成績降序排列,平均成績相同時,按課程編號升序排列
SELECT
c_id,ROUND(AVG(score),2) AS avg_score
FROM
score
GROUP BY c_id ORDER BY avg_score DESC,c_id ASC
16、查詢平均成績大於等於85的所有學生的學號、姓名和平均成績
SELECT
a.s_id,b.s_name,ROUND(avg(a.score),2) AS avg
FROM
score a
LEFT JOIN
student b on a.s_id=b.s_id
GROUP BY s_id HAVING avg>=85
17、查詢課程名稱爲"內功",且分數低於60的學生姓名和分數
SELECT
a.s_name,b.score
FROM
score b
JOIN
student a ON a.s_id=b.s_id
WHERE
b.c_id=(SELECT c_id FROM course WHERE c_name ='內功')
AND b.score<60
18、求每門課程的學生人數
SELECT c_id,count(*) FROM score GROUP BY c_id;
19、檢索至少選修兩門課程的學生學號
SELECT s_id,count(*) AS count FROM score GROUP BY s_id HAVING count>=2
數據初始化
-- ----------------------------
-- Table structure for course
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
`s_id` varchar(20) NOT NULL,
`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`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of student
-- ----------------------------
INSERT INTO `student` VALUES ('01', '張無忌', '1337-06-17', '男');
INSERT INTO `student` VALUES ('02', '宋青書', '1333-12-21', '男');
INSERT INTO `student` VALUES ('03', '丁敏君', '1336-06-21', '女');
INSERT INTO `student` VALUES ('04', '周芷若', '1340-09-26', '女');
INSERT INTO `student` VALUES ('05', '圓真', '1320-12-01', '男');
INSERT INTO `student` VALUES ('06', '圓覺', '1316-03-01', '男');
INSERT INTO `student` VALUES ('07', '殷梨亭', '1310-07-01', '男');
INSERT INTO `student` VALUES ('08', '紀曉芙', '1310-01-20', '女');
-- ----------------------------
-- Table structure for course
-- ----------------------------
DROP TABLE IF EXISTS `course`;
CREATE TABLE `course` (
`c_id` varchar(20) NOT NULL,
`c_name` varchar(20) NOT NULL DEFAULT '',
`t_id` varchar(20) NOT NULL,
PRIMARY KEY (`c_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of course
-- ----------------------------
INSERT INTO `course` VALUES ('01', '內功', '03');
INSERT INTO `course` VALUES ('02', '劍法', '02');
INSERT INTO `course` VALUES ('03', '拳法', '01');
-- ----------------------------
-- Table structure for teacher
-- ----------------------------
DROP TABLE IF EXISTS `teacher`;
CREATE TABLE `teacher` (
`t_id` varchar(20) NOT NULL,
`t_name` varchar(20) NOT NULL DEFAULT '',
PRIMARY KEY (`t_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of teacher
-- ----------------------------
INSERT INTO `teacher` VALUES ('01', '張三丰');
INSERT INTO `teacher` VALUES ('02', '滅絕師太');
INSERT INTO `teacher` VALUES ('03', '空見');
-- ----------------------------
-- Table structure for score
-- ----------------------------
DROP TABLE IF EXISTS `score`;
CREATE TABLE `score` (
`s_id` varchar(20) NOT NULL,
`c_id` varchar(20) NOT NULL,
`score` int(3) DEFAULT NULL,
PRIMARY KEY (`s_id`,`c_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of score
-- ----------------------------
INSERT INTO `score` VALUES ('01', '01', '99');
INSERT INTO `score` VALUES ('01', '02', '96');
INSERT INTO `score` VALUES ('01', '03', '90');
INSERT INTO `score` VALUES ('02', '01', '59');
INSERT INTO `score` VALUES ('02', '02', '75');
INSERT INTO `score` VALUES ('02', '03', '68');
INSERT INTO `score` VALUES ('03', '01', '55');
INSERT INTO `score` VALUES ('03', '02', '50');
INSERT INTO `score` VALUES ('03', '03', '60');
INSERT INTO `score` VALUES ('04', '01', '77');
INSERT INTO `score` VALUES ('04', '02', '88');
INSERT INTO `score` VALUES ('05', '01', '88');
INSERT INTO `score` VALUES ('05', '02', '90');
INSERT INTO `score` VALUES ('06', '01', '86');
INSERT INTO `score` VALUES ('06', '03', '99');
INSERT INTO `score` VALUES ('07', '02', '58');
INSERT INTO `score` VALUES ('07', '03', '98');