黑马程序员技术交流社区
标题: 【上海校区】笔试题-MySQL系列二 [打印本页]
作者: 爱编码的J 时间: 2018-10-31 21:51
标题: 【上海校区】笔试题-MySQL系列二
本帖最后由 爱编码的J 于 2018-10-31 21:53 编辑
MySQL数据做为面试必问的题目,笔者给大家分享一些面试中遇到的题(题目不一定很难,但是一定会涉及很多常见的知识点)
有以下三个表
(1) SQL给王二新增一条分数记录:科目二,70分(5分)
(2)把王二的科目三成绩改为66分(5分)
(3) SQL选出平均分大于等于60分的学生姓名(8分)
(4) 现有三种查询如下:(7分)
select * from score where score = 100;
select * from score where student_id = 5 and score =100;
select * from score where student_id = 5 and subject_id = 2 and score = 100
新建一个索引能够同时提升以上三条SQL的查询性能。
参考答案(参考答案仅代表个人意见,如果有更好的答案或者是想法,在回复中多多交流):
[size=14.0000pt](1)INSERT INTO `score`(`student_id`,`subject_id`,`score`) VALUES(6,2,70)
(2)UPDATE `score` SET `score`=66 WHERE `student_id`=(SELECT `id` from `student` WHERE `name`="王二") and `subject_id`=(SELECT `id` from `subject` WHERE `name`="科目三")
(3)SELECT `name` FROM `student` a JOIN `score` b on a.id=b.student_id GROUP BY a.id HAVING AVG(b.score)>60
(4)根据最左原则,简历一个联合索引index(score,student_id,subject_id)
-
TIM截图20181031215123.png
(42.6 KB, 下载次数: 19)
作者: 不二晨 时间: 2018-11-7 09:13
ヾ(◍°∇°◍)ノ゙
作者: 魔都黑马少年梦 时间: 2018-11-8 17:13
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |