use mydb3;
-- 子查询
/*
子查询就是指在一个完整的查询语句中,嵌套若干个不同功能的小查询,从而一起完成复杂查询的一种编写方式,通俗一点就是包含select嵌套的查询
*/
-- 查询年龄最大的员工信息,显示信息包好员工号,员工名字,员工年龄
select * from emp3 where age = (select max(age) from emp3); #单行单列,可以作为一个值来使用
-- 查询研发部和销售部的员工信息,包含员工号,员工名字
-- 方法一,关联查询
select * from dept3 join emp3 on (dept_id=deptno)&&(name = '研发部'||name ='销售部');
-- 方法二,子查询
select * from emp3 where dept_id in (select deptno from dept3 where name ='研发部' or name = '销售部');# 多行单列,多个值
-- 查询研发部20岁以下的员工信息,包括员工号,员工名字,部门名字
select *from dept where name = '研发部';#一行多列
select * from (select * from dept3 where name = '研发部') t1 join (select * from emp3 where age <= 20) t2 on t1.deptno=t2.dept_id;#多行多列
MYSQL 寒假自学 2022 十一(四)
于 2022-02-12 14:27:11 首次发布