MySQL子查询
Posted C
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL子查询相关的知识,希望对你有一定的参考价值。
什么是子查询:当一个查询是另一个查询的子部分时,我们叫做子查询
子查询的分类:
①从对象间的关系分类
相关子查询:select * from t1 where a1=(select b from t2 where b=a1);
非相关子查询:select * from t1 where a1=(select b from t2 where b=2);
②从查询结果上分类
单列子查询
如何显示与SMITH同一部门的所有员工?
select * from emp where deptno=(select deptno from emp where ename=\'smith\') and ename !=\'smith\';
多列子查询
如何查询与smith的部门和岗位完全相同的所有雇员
select * from emp where (deptno,job) = (select deptno,job from emp where ename=\'smith\');
多行子查询
如何查询和10号部门的工作相同的雇员的名字、岗位、工资、部门号
select ename,job,sal,deptno from emp where job in(select job from emp where deptno=10);
子查询可以出现在哪些位置?
。查询列位置
必须是单列子查询并且要取别名,否则报错
。from子句位置
必须非相关子查询,否则报错
。where子句位置
范围操作符> < ,必须是单列子查询
in 可以是多列子查询
以上是关于MySQL子查询的主要内容,如果未能解决你的问题,请参考以下文章