第1关:内连接查询
任务描述
本关任务:使用内连接查询数据表中学生姓名和对应的班级。
--########## 查询数据表中学生姓名和对应的班级 ##########
--#请在此处添加实现代码
--########## Begin ##########
SELECT
s.name AS studentName,
c.name AS className
FROM
tb_student s
INNER JOIN
tb_class c
ON
s.class_id = c.id;
--########## End ##########
第2关:外连接查询
任务描述
本关任务:使用外连接查询数据表中所有班级和对应班级里学生的姓名。
--########## 使用左外连接查询所有学生姓名(学生全部显示,不管有没有班级)和对应的班级 ##########
--#请在此处添加实现代码
--########## Begin ##########
SELECT
s.name AS studentName,
c.name AS className
FROM
tb_student s
LEFT JOIN
tb_class c
ON
s.class_id = c.id;
--########## End ##########
--########## 使用右外连接查询所有学生姓名和对应的班级(班级全部显示,无论有没有学生) ##########
--#请在此处添加实现代码
--########## Begin ##########
SELECT
s.name AS studentName,
c.name AS className
FROM
tb_student s
RIGHT JOIN
tb_class c
ON
s.class_id = c.id;
--########## End ##########
第3关:IN、ANY、ALL嵌套子查询
任务描述
本关任务:根据要求使用关键字进行查询。
--#请在此处添加实现代码
--########## Begin ##########
--#1.使用 ALL 关键字进行查询
SELECT position, salary
FROM tb_salary
WHERE salary > (SELECT MAX(salary) FROM tb_salary WHERE position = 'Java');
--#2.使用 ANY 关键字进行查询
SELECT position, salary
FROM tb_salary
WHERE salary > (SELECT MIN(salary) FROM tb_salary WHERE position = 'Java');
--#3.使用 IN 关键字进行查询
SELECT position, salary
FROM tb_salary
WHERE position = 'Java';
--########## End ##########
第4关:分页子查询
任务描述
本关任务:能分页读取表中数据,针对大数据量进行简单优化。
--#请在此处添加实现代码
--########## Begin ##########
--#1.分页查询
SELECT prod_id
FROM products
ORDER BY prod_id ASC
LIMIT 5 OFFSET 5;
--#2.用子查询优化分页查询语句
SELECT prod_id
FROM products
WHERE prod_id >= (
SELECT prod_id
FROM products
ORDER BY prod_id ASC
LIMIT 1 OFFSET 10 -- OFFSET 10 表示获取第11行的prod_id(索引从0开始)
)
ORDER BY prod_id ASC
LIMIT 5; -- 取5行,即第11-15行
--########## End ##########

被折叠的 条评论
为什么被折叠?



