本文共 1965 字,大约阅读时间需要 6 分钟。
子查询是指在一个SELECT语句内嵌套另一个SELECT语句,被嵌套的SELECT称为子查询。子查询可以出现在SELECT、FROM、WHERE等多个位置。
select (select empname from emp where deptno = 10) as name from emp;
select e.ename, d.dname from emp e join dept d on e.deptno = d.deptno;
select * from emp where salary > (select avg(salary) from emp);
select avg(salary) from emp;
select * from emp where salary > 2073.214286;
select * from emp where salary > (select avg(salary) from emp);
select deptno, avg(salary) as avgsal from emp group by deptno;
select t.*, s.grade from (select deptno, avg(salary) as avgsal from emp group by deptno) t join salgrade s on t.avgsal between s.losal and s.hisal;
select e.ename, (select d.dname from dept d where e.deptno = d.deptno) as dname from emp e;
select ename, job from emp where job = 'MANAGER' or job = 'SALESMAN';
select ename, job from emp where job in ('MANAGER', 'SALESMAN');
select ename, job from emp where job = 'MANAGER'unionselect ename, job from emp where job = 'SALESMAN';
select ename from empunionselect dname from dept;
LIMIT用于限制返回的结果集数量,是MySQL特有的功能。它的语法为:
limit [offset,] count
select ename, salary from emp order by salary desc limit 5;
select ename, salary from emp order by salary desc limit 5;
select ename, salary from emp order by salary desc limit 4,5;
select * from emp order by salary desc limit 0,3;
select * from emp order by salary desc limit 3,3;
select * from emp order by salary desc limit (pageNo - 1) * 10, 10;
pageNo
表示当前显示的页数。pageSize
表示每页显示的记录数。通过以上方法,可以方便地对数据进行分页查询,满足不同场景的需求。
转载地址:http://mrbfk.baihongyu.com/