DQL查询数据(下)
联表查询
inner join:如果表中有一个匹配,就返回行。
left join:会从左表中返回所有的值,即使右表没有匹配。
right join:会从右表中返回所有的值,即使左表没有匹配。
语法:select 字段 from 表 别名 选择连接 表 别名 on 条件(表中关联的字段) where 条件
自连接(了解)
含义:自己的表与自己的表连接。 核心:一张表拆为二张一样的表即可。
例子:一张父表有自己的id ,有3条数据,后端,前端,测试。子表有6条数据,每个有自己的id,还有一个父表中的id。
字段插入语法:insert into 表(字段,字段,字段) values (值,值,值),........;
分页和排序
升序 ASC ,降序DESC
ORDER BY 通过多个字段排序,怎么排
limit(当前页,页面的大小)
分页
为什么分页?缓解数据库压力,给人的体验感更好,不像“瀑布流”
公式: 第一页 limit(0,5) (1-1)*5
第二页 limit(5,5) (2-1)*5
第三页 limit(10,5) (3-1)*5
第n页 limit(n,5) (n-1)*每页条数
总结:假设总页数不变。每页条数:根据(当前页-1)* 每页条数
语法:where后 ORDER BY 字段 ASC或DESC limit 当前页,每页条数
子查询
子查询语法:select 字段 from 表 where 查询的字段 = (
select 查询的字段 from 另一张表 where 条件
)
联表查询语法:select 字段 from 表 别名 一种连接 表 别名 on 相同字段 where条件。
个人比较感觉联表好用