推荐一款
inscode
内的模板SQL练习生
,此文附带目前所有题的答案
如有错误欢迎斧正~
https://inscode.csdn.net/@TPEngineer/SQLBoy
为了更好的体验,请按下面的方法打开:
1.运行一下
2.等待加载
3.在网页打开
温馨提醒:此处做题不会保存进度,请自行记录做题情况
个人总结的答案(已涵盖目前的所有题,题库更新踢我)
-- 请在此处输入 SQL
select * from student;
-- 请在此处输入 SQL
select name,age from student;
-- 请在此处输入 SQL
select * from student;
-- 请在此处输入 SQL
select name,age from student;
-- 请在此处输入 SQL
select name as 学生姓名,
age as 学生年龄
from student;
-- 请在此处输入 SQL
select name,score,2*score as double_score from student;
-- 请在此处输入 SQL
select name,score
from student
where name='鱼皮';
-- 请在此处输入 SQL
select name,age
from student
where name!='热dog'
-- 请在此处输入 SQL
select name,age,score
from student
where age is not null;
-- 请在此处输入 SQL
select name,score
from student
where name not like '%李%';
-- 请在此处输入 SQL
select name,score
from student
where name like '%李%' or score>500;
-- 请在此处输入 SQL
select distinct class_id,exam_num
from student;
-- 请在此处输入 SQL
select name,age,score
from student
order by score desc,
age asc;
-- 请在此处输入 SQL
select name,age from student
order by age asc
limit 1,3;
-- 请在此处输入 SQL
select name,
case when (age>60) then '老同学'
when (age>20) then '年轻'
else '小同学' end as age_level
from student
order by name asc;
-- 请在此处输入 SQL
select name,
date() as '当前日期'
from student;
-- 请在此处输入 SQL
select id ,
name ,
upper(name) as upper_name
from student where name=='热dog';
-- 请在此处输入 SQL
select sum(score) as total_score,
AVG(score) as avg_score,
MAX(score) as max_score,
MIN(score) as min_score from student;
-- 请在此处输入 SQL
select class_id,
AVG(score) as avg_score
from student
group by class_id;
-- 请在此处输入 SQL
select class_id,
exam_num,
Count(id) as total_num
from student
group by class_id,exam_num;
-- 请在此处输入 SQL
select class_id,
SUM(score) as total_score
from student
group by class_id
having SUM(score)>150;
-- 请在此处输入 SQL
select s.name as student_name,
s.age as student_age,
s.class_id as class_id,
c.name as class_name
from student s
cross join
class c;
-- 请在此处输入 SQL
select s.name as student_name,
s.age as student_age,
s.class_id as class_id,
c.name as class_name,
c.level as class_level
from student s
join class c on s.class_id=c.id;
-- 请在此处输入 SQL
select s.name as student_name,
s.age as student_age,
s.class_id as class_id,
c.name as class_name,
c.level as class_level
from student s
left join class c
on s.class_id=c.id;
-- 请在此处输入 SQL
select
s.name,
s.score,
s.class_id
from
student s
where
s.class_id IN (SELECT c.id FROM class c);
-- 请在此处输入 SQL
select name,age,class_id
from student
where not exists(
select 1
from class
where class.id==student.class_id
);
-- 请在此处输入 SQL
select name,age,score,class_id
from student
union all
select name,age,score,class_id
from student_new;
-- 请在此处输入 SQL
select id,name,age,score,class_id,
avg(score) over (partition by class_id)
as class_avg_score
from student;
-- 请在此处输入 SQL
select id,name,age,score,class_id,
sum(score) over (partition by class_id
order by score asc)
as class_sum_score
from student;
-- 请在此处输入 SQL
select id,name,age,score,class_id,
rank() over
(partition by class_id order by score desc)
as ranking
from student;
-- 请在此处输入 SQL
select id,name,age,score,class_id,
row_number() over
(partition by class_id order by score desc)
as row_number
from student;
-- 请在此处输入 SQL
select id,name,age,score,class_id,
lag(name,1,null) over
(partition by class_id order by score desc)
as prev_name,
lead(name,1,null) over
(partition by class_id order by score desc)
as next_name
from student;
-- 请在此处输入 SQL
select adventurer_id,adventurer_name,
sum(reward_coins) as total_reward_coins
from rewards
group by adventurer_id,adventurer_name
order by total_reward_coins desc
limit 3;
-- 请在此处输入 SQL
select student_id,student_name,subject_id,subject_name,score,
rank() over (partition by subject_id order by score desc)
as score_rank
from magic_scores;
-- 请在此处输入 SQL
select observer_name,observation_date,wave_intensity from chicken_observation
where observation_location like '%大浪淘鸡%'
and wave_intensity >5;