第1关:基本查询语句
任务描述
本关任务:
-
用
SELECT
语句检索数据表中指定字段的数据; -
用
SELECT
语句检索数据表中所有字段的数据。
编程要求
根据提示,在右侧编辑器Begin-End
处补充代码:
我们为你新建了一个数据表tb_emp
,结构如下:
-
请你查询字段
Name
和Salary
的内容; -
请你查询整张表的内容。
USE Company; #请在此处添加实现代码 ########## Begin ########## ########## retrieving the Name and Salary ########## select Name,Salary from tb_emp; ########## retrieving all the table ########## select * from tb_emp; ########## End ##########
第2关:带 IN 关键字的查询
-
任务描述
本关任务:使用
IN
关键字检索数据表中指定的数据内容。 -
编程要求
根据提示,在右侧编辑器
Begin-End
处补充代码:我们为你新建了一个数据表
tb_emp
,结构如下: - 请你查询当
Id
不等于1
时,字段Name
和Salary
的内容;
测试说明
我会对你编写的代码进行测试,最终结果会如下图所示:
USE Company;
#请在此处添加实现代码
########## Begin ##########
########## retrieving the Name and Salary with IN statement ##########
select Name,Salary from tb_emp where id <> 1;
########## End ##########
第3关:带 BETWEEN AND 的范围查询
任务描述
本关任务:使用BETWEEN AND
关键字检索数据表中指定的数据内容。
编程要求
根据提示,在右侧编辑器Begin-End
处补充代码:
我们为你新建了一个数据表tb_emp
,结构如下:
- 请你查询当字段
Salary
范围在3000~5000
时,字段Name
和Salary
的内容。
测试说明
我会对你编写的代码进行测试,最终结果会如下图所示:
USE Company;
#请在此处添加实现代码
########## Begin ##########
########## retrieving the Name and Salary with BETWEEN AND statement ##########
select Name,Salary from tb_emp where Salary BETWEEN 3000 AND 5000;
########## End ##########
第4关:带 LIKE 的字符匹配查询
任务描述
本关任务:使用通配符%
检索数据表中指定字段的数据。
编程要求
根据提示,在右侧编辑器Begin-End
处补充代码;
我们为你新建了一个数据表tb_emp
,结构如下:
- 请你查询所有
Name
以字母C
为起始的员工的Name
和Salary
的内容;
测试说明
我会对你编写的代码进行测试,最终结果会如下图所示:
USE Company;
######### Begin #########
select Name,Salary from tb_emp where name like 'C%';
######### End #########
第5关:查询空值与去除重复结果
任务描述
本关任务:使用关键字IS NULL
检索数据表中指定的字段的空值;使用关键字DISTINCT
检索数据表中指定的不重复的内容。
编程要求
根据提示,在右侧编辑器Begin-End
处补充代码:
我们为你新建了一个数据表tb_emp
,内容如下:
-
使用关键字
IS NULL
返回数据表中字段DeptId
为NULL
的所有字段的内容,注意,返回的是指定行所有字段的内容; -
使用关键字
DISTINCT
返回数据表中字段Name
不重复的内容,注意,只需返回字段Name
的内容。
测试说明
我会对你编写的代码进行测试,最终结果会如下图所示:
开始你的任务吧,祝你成功!
USE Company;
######### Begin #########
select * from tb_emp where deptid is null;
######### End #########
######### Begin #########
select distinct Name from tb_emp ;
######### End #########
第6关:带 AND 与 OR 的多条件查询
任务描述
本关任务:使用关键字AND
检索数据表中指定的字段的内容;使用关键字IN
检索数据表中指定的字段的内容。
编程要求
根据提示,在右侧编辑器Begin-End
处补充代码:
我们为你新建了一个数据表tb_emp
,内容如下:
结构如下:
-
使用关键字
AND
返回数据表中字段DeptId
为301
并且薪水
大于3000
的所有字段的内容,其中DeptId
的倒数第二个字母为i
的大写; -
使用关键字
IN
返回数据表中字段DeptId
为301
和303
的所有字段的内容。
测试说明
我会对你编写的代码进行测试,最终结果会如下图所示:
开始你的任务吧,祝你成功!
USE Company;
######### Begin #########
select * from tb_emp where deptid = 301 and salary > 3000;
######### End #########
######### Begin #########
select * from tb_emp where deptid in (301,303);
######### End #########
第7关:对查询结果进行排序
任务描述
本关任务:以成绩的降序显示学生成绩表中所有信息。
编程要求
在右侧编辑器Begin-End
处补充代码,查询学生成绩表中1
班同学的所有信息并以成绩降序的方式显示结果。
我们已经为你提供了学生成绩表: tb_score
表数据:
| stu_id | class_id | name | score | | :------------: | :------------: | :------------: | | 1 | 2 | Jack | 81 | | 2 | 1 | David | 74 | | 3 | 1 | Mason | 92 | | 4 | 2 | Ethan | 89 | | 5 | 1 | Gina | 65 |
测试说明
平台会对你编写的代码进行测试:
预期输出:
stu_id class_id name score
3 1 Mason 92
2 1 David 74
5 1 Gina 65
开始你的任务吧,祝你成功!
USE School;
#请在此处添加实现代码
########## Begin ##########
########## 查询1班同学的所有信息以成绩降序的方式显示结果 ##########
select * from tb_score where class_id = '1' order by score desc;
########## End ##########
第8关:分组查询
任务描述
本关任务:对班级表中的班级名称进行分组查询。
编程要求
在右侧编辑器Begin-End
处补充代码,对班级表中的班级名称进行分组查询。
我们已经为你提供了班级表信息: tb_class
表数据:
stu_id | class_id | name |
---|---|---|
1 | 367 | Jack |
2 | 366 | David |
3 | 366 | Mason |
4 | 367 | Ethan |
5 | 366 | Gina |
测试说明
平台会对你编写的代码进行测试:
预期输出:
stu_id class_id name
2 366 David
1 367 Jack
开始你的任务吧,祝你成功!
USE School;
#请在此处添加实现代码
########## Begin ##########
########## 对班级名称进行分组查询 ##########
select * from tb_class group by class_id;
########## End ##########
第9关:使用 LIMIT 限制查询结果的数量
任务描述
本关任务:使用LIMIT
关键字查询班级中第2
名到第5
名的学生信息,并根据学生成绩进行降序排序。
编程要求
在右侧编辑器Begin-End
处补充代码,查询班级中第2
名到第5
名的学生信息,并根据学生成绩进行降序排序。
我们已经为你提供了学生成绩表: tb_score
表数据:
id | name | score |
---|---|---|
1 | Jack | 89 |
2 | David | 73 |
3 | Mason | 62 |
4 | Ethan | 93 |
5 | Gina | 76 |
6 | Dorris | 98 |
7 | kain | 86 |
8 | Alice | 91 |
测试说明
平台会对你编写的代码进行测试:
预期输出:
id name score
4 Ethan 93
8 Alice 91
1 Jack 89
7 kain 86
开始你的任务吧,祝你成功!
USE School;
#请在此处添加实现代码
########## Begin ##########
########## 查询班级中第2名到第5名的学生信息 ##########
select * from
(select * from tb_score order by score desc limit 1,4) as b;
########## End ##########