【MySQL】多表查询 |
您所在的位置:网站首页 › mysql数据库多表查询的语法 › 【MySQL】多表查询 |
概念 ==查询中嵌套查询,称嵌套查询为子查询。== 什么是查询中嵌套查询呢?我们通过一个例子来看: 需求:查询工资高于猪八戒的员工信息。 来实现这个需求,我们就可以通过二步实现,第一步:先查询出来 猪八戒的工资 select salary from emp where name = '猪八戒'第二步:查询工资高于猪八戒的员工信息 select * from emp where salary > 3600;第二步中的3600可以通过第一步的sql查询出来,所以将3600用第一步的sql语句进行替换 select * from emp where salary > (select salary from emp where name = '猪八戒');这就是查询语句中嵌套查询语句。 子查询根据查询结果不同,作用不同 子查询语句结果是单行单列,子查询语句作为条件值,使用 = != > < 等进行条件判断子查询语句结果是多行单列,子查询语句作为条件值,使用 in 等关键字进行条件判断子查询语句结果是多行多列,子查询语句作为虚拟表案例 查询 '财务部' 和 '市场部' 所有的员工信息 -- 查询 '财务部' 或者 '市场部' 所有的员工的部门did select did from dept where dname = '财务部' or dname = '市场部'; select * from emp where dep_id in (select did from dept where dname = '财务部' or dname = '市场部');查询入职日期是 '2011-11-11' 之后的员工信息和部门信息 -- 查询入职日期是 '2011-11-11' 之后的员工信息 select * from emp where join_date > '2011-11-11' ; -- 将上面语句的结果作为虚拟表和dept表进行内连接查询 select * from (select * from emp where join_date > '2011-11-11' ) t1, dept where t1.dep_id = dept.did; |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |