牛客网SQL 进阶篇刷题(1-19)
用户1001在2021年9月1日晚上10点11分12秒开始作答试卷9001,并在50分钟后提交,得了90分; 用户1002在2021年9月4日上午7点1分2秒开始作答试卷9002,并在10分钟后退出了平台。
insert INTO exam_record( id, uid, exam_id, start_time, submit_time, score)
VALUES ( DEFAULT , 1001 , 9001 , '2021-09-01 22:11:12' , '2021-09-01 22:11:12' + INTERVAL 50 minute , 90 ) ,
( DEFAULT , 1002 , 9002 , '2021-09-04 07:01:02' , NULL , NULL )
现有一张试卷作答记录表exam_record,结构如下表,其中包含多年来的用户作答试卷记录,由于数据越来越多,维护难度越来越大,需要对数据表内容做精简,历史数据做备份。
INSERT INTO exam_record_before_2021
SELECT NULL , uid, exam_id, start_time, submit_time, score
FROM exam_record
WHERE YEAR ( submit_time) < 2021
现在有一套ID为9003的高难度SQL试卷,时长为一个半小时,请你将 2021-01-01 00:00:00 作为发布时间插入到试题信息表examination_info,不管该ID试卷是否存在,都要插入成功,请尝试插入它。
REPLACE INTO examination_info
VALUES ( NULL , 9003 , 'SQL' , 'hard' , 90 , '2021-01-01 00:00:00' )
请把examination_info表中tag为PYTHON的tag字段全部修改为Python。
UPDATE examination_info
SET tag = 'Python'
WHERE tag = 'PYTHON'
请把exam_record表中2021年9月1日之前开始作答的未完成记录全部改为被动完成,即:将完成时间改为’2099-01-01 00:00:00’,分数改为0.
UPDATE exam_record
SET submit_time = '2099-01-01 00:00:00' , score = 0
WHERE start_time < '2021-09-01 00:00:00' and score is NULL
请删除exam_record表中作答时间小于5分钟整且分数不及格(及格线为60分)的记录
DELETE FROM exam_record
WHERE score < 60 and TIMESTAMPDIFF ( minute , sta