sql-SQL练习生

news2025/2/23 2:26:20

推荐一款inscode内的模板SQL练习生,此文附带目前所有题的答案
如有错误欢迎斧正~

https://inscode.csdn.net/@TPEngineer/SQLBoy

为了更好的体验,请按下面的方法打开:

1.运行一下

在这里插入图片描述

2.等待加载

3.在网页打开

在这里插入图片描述

温馨提醒:此处做题不会保存进度,请自行记录做题情况

个人总结的答案(已涵盖目前的所有题,题库更新踢我)

练习

1.基础语法 - 查询 - 全表查询
-- 请在此处输入 SQL
select * from student;
2.基础语法 - 查询 - 选择查询
-- 请在此处输入 SQL
select name,age from student;

主线关卡

1.基础语法 - 查询 - 全表查询
-- 请在此处输入 SQL
select * from student;
2.基础语法 - 查询 - 选择查询
-- 请在此处输入 SQL
select name,age from student;
3.基础语法 - 查询 - 别名
-- 请在此处输入 SQL
select name as 学生姓名,
age as 学生年龄
from student;
4.基础语法 - 查询 - 常量和运算
-- 请在此处输入 SQL
select name,score,2*score as double_score from student;
5.基础语法 - 条件查询 - where
-- 请在此处输入 SQL
select name,score 
from student
where name='鱼皮';
6.基础语法 - 条件查询 - 运算符
-- 请在此处输入 SQL
select name,age 
from student
where name!='热dog'
7.基础语法 - 条件查询 - 空值
-- 请在此处输入 SQL
select name,age,score 
from student
where age is not null;
8.基础语法 - 条件查询 - 模糊查询
-- 请在此处输入 SQL
select name,score 
from student
where name not like '%李%';
9.基础语法 - 条件查询 - 逻辑运算
-- 请在此处输入 SQL
select name,score 
from student
where name like '%李%'  or score>500;
10.基础语法 - 去重
-- 请在此处输入 SQL
select distinct class_id,exam_num 
from student;
11.基础语法 - 排序
-- 请在此处输入 SQL
select name,age,score 
from student
order by score desc,
age asc;
12.基础语法 - 截断和偏移
-- 请在此处输入 SQL
select name,age from student
order by age asc
limit 1,3;
13.基础语法 - 条件分支
-- 请在此处输入 SQL
select name,
    case when (age>60) then '老同学'
         when (age>20) then '年轻'
         else '小同学' end as age_level
from student
order by name asc;
14.函数 - 时间函数
-- 请在此处输入 SQL
select name,
date() as '当前日期' 
from student;
15.函数 - 字符串处理
-- 请在此处输入 SQL
select id ,
name ,
upper(name) as upper_name 
from student where name=='热dog';
16.函数 - 聚合函数
-- 请在此处输入 SQL
select sum(score) as total_score,
AVG(score) as avg_score,
MAX(score) as max_score,
MIN(score) as min_score from student;
17.分组聚合 - 单字段分组
-- 请在此处输入 SQL
select class_id,
AVG(score) as avg_score 
from student 
group by class_id;
18.分组聚合 - 多字段分组
-- 请在此处输入 SQL
select class_id,
exam_num,
Count(id) as total_num 
from student 
group by class_id,exam_num;
19.分组聚合 - having 子句
-- 请在此处输入 SQL
select class_id,
SUM(score) as total_score 
from student
group by class_id
having SUM(score)>150;
20.查询进阶 - 关联查询 - cross join
-- 请在此处输入 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;
21.查询进阶 - 关联查询 - inner join
-- 请在此处输入 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;
22.查询进阶 - 关联查询 - outer join
-- 请在此处输入 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;
23.查询进阶 - 子查询
-- 请在此处输入 SQL
select 
    s.name,
    s.score,
    s.class_id
from 
    student s
where 
    s.class_id IN (SELECT  c.id FROM class c);
24.查询进阶 - 子查询 - exists
-- 请在此处输入 SQL
select name,age,class_id 
from student
where not exists(
    select 1
    from class
    where class.id==student.class_id
);
25.查询进阶 - 组合查询
-- 请在此处输入 SQL
select name,age,score,class_id 
from student
union all
select name,age,score,class_id
from student_new;
26.查询进阶 - 开窗函数 - sum over
-- 请在此处输入 SQL
select id,name,age,score,class_id,
avg(score) over (partition by class_id)
as class_avg_score 
from student;
27.查询进阶 - 开窗函数 - sum over order by
-- 请在此处输入 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;
28.查询进阶 - 开窗函数 - rank
-- 请在此处输入 SQL
select id,name,age,score,class_id,
rank() over 
(partition by class_id order by score desc)
as ranking
from student;
29.查询进阶 - 开窗函数 - row_number
-- 请在此处输入 SQL
select id,name,age,score,class_id,
row_number() over
(partition by class_id order by score desc)
as row_number
from student;
30.查询进阶 - 开窗函数 - lag / lead
-- 请在此处输入 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;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1286347.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【交叉编译】

一、什么是交叉编译 二、为什么要交叉编译? 三、交叉编译要用到的工具(工具链、交叉编译器) 四、交叉编译工具链的安装 五、配置环境变量 六、交叉编译工具编译 七、带wiringPi库的交叉编译如何进行 八、软链接、硬链接 九、Linux创建链接命令…

nodejs+vue+ElementUi牙科诊所信息化系统

该系统将采用B/S结构模式,前端部分主要使用html、css、JavaScript等技术,使用Vue和ElementUI框架搭建前端页面,后端部分将使用Nodejs来搭建服务器,并使用MySQL建立后台数据系统,通过axios完成前后端的交互,…

认识异常 ---java

目录 一. 异常的概念 二. 异常的体系结构 三. 异常的分类 三. 异常的处理 3.1 异常的抛出throw 3.2. 异常声明throws 3.3 捕获并处理try-catch finally 3.4异常的处理流程 四. 自定义异常类 一. 异常的概念 在 Java 中,将程序执行过程中发生的不正常行为称为…

CPP-SCNUOJ-Problem P24. [算法课贪心] 跳跃游戏

Problem P24. [算法课贪心] 跳跃游戏 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度 判断你是否能够到达最后一个下标。 输入 输入一行数组nums 输出 输出true/fasle 样例 标准输入 2 3 1 …

出海风潮:中国母婴品牌征服国际市场的机遇与挑战!

近年来,中国母婴品牌在国内市场蓬勃发展的同时,也逐渐将目光投向国际市场。这一趋势不仅受益于中国经济的崛起,还得益于全球市场对高质量母婴产品的不断需求。然而,面对国际市场的机遇,中国母婴品牌同样面临着一系列挑…

Myblog02-基于ssm,springboot的改进

目录 一、项目概述: 应用技术: 接口实现: 数据库建表,sql脚本: 页面展示:登陆页面 项目源码:myblog01: 初版的个人博客项目-使用基本的javaWeb (gitee.com) 二、对博客系统进行测试 总结…

深入分析爬虫中time.sleep和Request的并发影响

背景介绍 在编写Python爬虫程序时,我们经常会遇到需要控制爬取速度以及处理并发请求的情况。本文将深入探讨Python爬虫中使用time.sleep()和请求对象时可能出现的并发影响,并提供解决方案。 time.sleep()介绍 首先,让我们来了解一下time.s…

【发布小程序配置服务器域名,不配置发布之后访问就会报错request:fail url not in domain list】

小程序在本地开发的时候大家通常会在微信开发者工具中设置“不校验合法域名、web-view (业务域名)、TLS 版本以及HTTPS证书”,久而久之可能会忘掉这个操作,然后打包直接上线发布,结果发现访问会报错request:fail url not in domain list&…

CETN03 - The Evolution of Computers

文章目录 I. IntroductionII. First Modern Digital Computer: ENIAC (1946)III. First Generation ComputerIV. Second Generation ComputerV. Third Generation ComputerVI. Fourth Generation ComputerVII. ConclusionI. 引言II. 第一台现代数字计算机:ENIAC&…

自定义 el-select 和 el-input 样式

文章目录 需求分析el-select 样式el-input 样式el-table 样式 需求 自定义 选择框的下拉框的样式和输入框 分析 el-select 样式 .select_box{// 默认placeholder:deep .el-input__inner::placeholder {font-size: 14px;font-weight: 500;color: #3E534F;}// 默认框状态样式更…

C++ 12.5作业

以下是一个简单的比喻,将多态概念与生活中的实际情况相联系: 比喻:动物园的讲解员和动物表演 想象一下你去了一家动物园,看到了许多不同种类的动物,如狮子、大象、猴子等。现在,动物园里有一位讲解员&…

库函数qsort的使用及利用冒泡排序模拟实现qsort

文章目录 🚀前言🚀void*类型指针🚀库函数qsort的使用🚀利用冒泡排序实现库函数qsort() 🚀前言 今天阿辉将为大家介绍库函数qsort的使用,还包括利用冒泡排序模拟实现qsort以及void*类型的指针,关…

云祺副本容灾机制讲解

副本,顾名思义就是一份数据的拷贝。 在系统中,将数据的目的分为了三种:备份、副本和归档。 其中备份数据,通常是存放在备份系统本地,或数据中心本地;副本数据通过是存放在异地的备份系统中,或…

【C语言】【堆排序实现TOPK问题】写一个堆排序,并且在一百万个数中找出最大的前K个

1.堆排序的实现: 如果要升序输出,则实现大堆 如果要降序输出,则实现小堆 逻辑:(升序输出) 将堆顶的元素和最后一个元素交换位置,此时左子树和右子树分别仍是大堆的顺序,交换位置后…

车企数据治理实践案例,实现数据生产、消费的闭环链路 | 数字化标杆

随着业务飞速发展,某汽车制造企业业务系统数量、复杂度和数据量都在呈几何级数的上涨,这就对于企业IT能力和IT架构模式的要求越来越高。加之企业大力发展数字化营销、新能源车等业务,希望通过持续优化客户体验,创造可持续发展的数…

leetcode:统计感冒序列的数目【数学题:组合数含逆元模版】

1. 题目截图 2.题目分析 需要把其分为多个段进行填充 长为k的段,从两端往中间填充的方案数有2 ** (k - 1)种 组合数就是选哪几个数填哪几个段即可 3.组合数含逆元模版 MOD 1_000_000_007 MX 100_000# 组合数模板 fac [0] * MX fac[0] 1 for i in range(1, MX…

一个完整的转录组分析流程

本期的教程代码(部分) #!/bin/bash # # 使用fastq-dump解压sra数据 # 本数据集为双端数据 # 解压格式为fq.gz for i in SRR6929571 SRR6929572 SRR6929573 SRR6929574 SRR6929577 SRR6929578; do pfastq-dump --split-files --threads 20 --gzip -s 00_…

综合指南:如何创建有效的知识地图?

知识地图是知识管理中的重要工具,使企业能够有效地利用其资产。它促进了解决问题、新人整合和组织学习。此外,它还提高了生产力,实现了数据驱动的决策,并优化了流程。通过捕获和组织有价值的知识资产,它确保了专业知识…

如何通过nvm安装多版本nodejs?如果nodejs安装成功,但npm安装失败怎么办?

我们在开发项目的时候,最开始,是只有一个老的项目,老项目单独安装了node版本4.4.7,后来有了新项目,由于有两个项目,但是一个需要老一些版本的node,一个需要新版本的node,因此需要在两…

签名应用APP分发平台的微服务化部署是什么?其有哪些优势?

在信息技术的世界里,软件开发和部署的模式不断演进。从单体架构到服务化,再到今日备受瞩目的微服务架构。微服务化部署作为一种新兴的软件架构风格,正被越来越多的企业采用。它使得应用可以被分解成一套相互独立的最小服务单元。而“分发平台…