头歌实训 MySQL数据库 - 连接查询和子查询基础

目录

第1关:内连接查询

第2关:外连接查询

第3关:关键字子查询

第4关:分页子查询


第1关:内连接查询

任务描述

本关任务:使用内连接查询数据表中学生姓名和对应的班级。

编程要求

在右侧编辑器补充代码,查询数据表中学生姓名以及对应的班级名称,将其对应的列名分别另命名为studentNameclassName

我们为你提供了两张表,内容如下:

tb_student表数据:

idnameclass_id
1Emma2
2Mary4
3Allen(null)
4Kevin1
5Rose2
6James1

tb_class表数据:

idname
1软件1631
2软件1632
3测试1631
4测试1632

USE School;
 
########## 查询数据表中学生姓名和对应的班级 ##########
#请在此处添加实现代码
########## Begin ##########
SELECT tb_student.name as studentName,tb_class.name as className from tb_class join tb_student on tb_student.class_id=tb_class.id;
 

 
########## End ##########

第2关:外连接查询

任务描述

本关任务:使用外连接查询数据表中所有班级和对应班级里学生的姓名。

编程要求

在右侧编辑器补充代码,分别使用左外连接右外连接查询数据表中所有学生姓名和对应的班级名称,查询结果列分别另命名为studentNameclassName

我们为你提供了两张表,内容如下:

tb_student表数据:

idnameclass_id
1Emma2
2Mary4
3Allen(null)
4Kevin1
5Rose2
6James1

tb_class表数据:

idname
1软件1631
2软件1632
3测试1631
4测试1632

USE School;

########## 使用左外连接查询所有学生姓名和对应的班级 ##########

#请在此处添加实现代码
########## Begin ##########

SELECT tb_student.name as studentName,tb_class.name as className from tb_student left join tb_class on tb_student.class_id = tb_class.id;



########## End ##########

########## 使用右外连接查询所有学生姓名和对应的班级 ##########

#请在此处添加实现代码
########## Begin ##########
SELECT tb_student.name as studentName,tb_class.name as className from tb_student right join tb_class on tb_student.class_id = tb_class.id;




########## End ##########

第3关:关键字子查询

任务描述

本关任务:根据要求使用关键字进行查询。

编程要求

我们为你提供了如下数据表:
tb_salary表数据:

idpositionsalary
1Java8000
2Java8400
3Java9000
4Python6500
5Python10000

根据提供的数据,在右侧编辑器中补充代码:

  1. 查询薪资表中比Java最高工资高的所有员工职位名称和薪资;

  2. 查询薪资表中比Java最低工资高的所有员工职位名称和薪资;

  3. 查询薪资表中薪资与职位为Java的某个员工相同的职位名称及薪资。

USE Company;
#请在此处添加实现代码
########## Begin ##########
 
#1.使用 ALL 关键字进行查询
select position,salary 
from tb_salary 
where salary >ALL
(
SELECT salary 
from  tb_salary 
where position ="java"
);
 
#2.使用 ANY 关键字进行查询
select position,salary 
from tb_salary 
where salary> ANY
(
select 
min(salary) 
from tb_salary 
where position="java"
);
#3.使用 IN 关键字进行查询
select position,salary 
from tb_salary 
where position in("java");
########## End ##########

第4关:分页子查询

任务描述

本关任务:能分页读取表中数据,针对大数据量进行简单优化。

测试说明

我们会根据表中数据对你的结果进行测试:

预期输出:
prod_id
6
7
8
9
10
prod_id
11
12
13
14
15

USE Products;
#请在此处添加实现代码
########## Begin ##########

#1.分页查询
SELECT prod_id FROM products ORDER BY prod_id ASC LIMIT 5, 5;

#2.用子查询优化分页查询语句
SELECT prod_id FROM products ORDER BY prod_id LIMIT 10, 5;
########## End ########## 

  • 7
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值