关于mysql: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 能够是多列子查问

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理