select
...
from
...
where
...
group by 分组
…
having
...
order by 排序 desc 降序
...
limit
...
执行顺序?
1.from
2.where
3.group by
4.having
5.select
6.order by
7.limit..
1、把查询结果去除重复记录【distinct】
// distinct 只能出现在所有字段的最前方。
// distinct 出现在 job,deptno 两个字段之前,表示两个字段联合起来去重。
2、连接查询
根据表连接的方式分类:
内连接:
等值连接 emp e 和 dept d 表进行连接。条件是:e.deptno = d.deptno
非等值连接 e.sal between s.losal and s.hisal; // 条件不是一个等量关系,称为非等值连接。
自连接
外连接:
左外连接(左连接) right outer join ..on
右外连接(右连接)left outer join ..on
全连接(不讲)
3.1、什么是子查询?
select 语句中嵌套 select 语句,被嵌套的 select 语句称为子查询。
3.2、子查询都可以出现在哪里呢?
select
..(select).
from
..(select).
where
..(select).
4、union 合并查询结果集
案例:查询工作岗位是 MANAGER 和 SALESMAN 的员工?
select ename,job from emp where job = 'MANAGER'
union
select ename,job from emp where job = 'SALESMAN';
+--------+----------+
| ename | job |
+--------+----------+
| JONES | MANAGER |
| BLAKE | MANAGER |
| CLARK | MANAGER |
| ALLEN | SALESMAN |
| WARD | SALESMAN |
union 的效率要高一些。但是 union 可以减少匹配的次数。
5、limit(非常重要)
5.1、limit 作用:将查询结果集的一部分取出来。通常使用在分页查询当中。
5.2、limit 怎么用呢?
完整用法:limit startIndex, length
startIndex 是起始下标,length 是长度。
起始下标从 0 开始。
缺省用法:limit 5; 这是取前 5.
5.3、注意:mysql 当中 limit 在 order by 之后执行!!!!!!
每页显示 pageSize 条记录
第 pageNo 页:limit (pageNo - 1) * pageSize , pageSize
6、关于 DQL 语句的大总结:
select
...
from
...
where
...
group by
...
having
...
order by
...
limit
...
执行顺序?
1.from
2.where
3.group by
4.having
5.select
6.order by
7.limit..
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于