关于mysql:MySQL子查询

3次阅读

共计 606 个字符,预计需要花费 2 分钟才能阅读完成。

​ 什么是子查问:当一个查问是另一个查问的子局部时,咱们叫做子查问

​ 子查问的分类:

​ ①从对象间的关系分类

​ 相干子查问: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 能够是多列子查问

正文完
 0