MySQL - 数据查询语言DQL数据连接语法及实例
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL - 数据查询语言DQL数据连接语法及实例相关的知识,希望对你有一定的参考价值。
参考技术A合并思想. N个表 --> 1个表
连接的定义
将2个或2个以上的表通过一定的条件拼接起来形成一个虚表的过程。连接是from子句的一部分.
从2个表的连接开始.
左表: 放置在你左手边的表. left_tab
右表: 放置在你右手边的表. right_tab
连接语法
三种基本类型: 交叉连接,内连接与外连接
交叉连接
返回的就是一个笛卡尔积.
交叉连接语法
内连接
在交叉连接的基础上,仅返回满足连接条件的行.
连接条件
1.使用on关键字来指定.
2.on的用法与where类似.
3.on可以使用连接的所有表中的列值进行判断
内连接的语法
外连接
在内连接的基础上,返回一些额外的行.
左外连接(左连接)
在内连接的基础上,左表除了返回满足连接条件的行之外,剩下的所有不满足连接条件的行也要一并返回,右表中与之没有匹配的行的列值设置为null
右外连接(右连接)
在内连接的基础上,右表除了返回满足连接条件的行之外,剩下的所有不满足连接条件的行也要一并返回,左表中与之没有匹配的行的列值设置为null
外连接语法
语法:
表的别名
注意: 一旦给表设置了别名,则以后只能通过别名引用表中的列.别名会隐藏表名.
join嵌套
可以在一个join中嵌套另外一个join
一般来说,当连接的表的个数N>=3时需要使用嵌套join.
当连接的表的个数为N时,则至少需要N-1个连接条件.
语法:
join嵌套
与内连接中的join嵌套用法类似.
MySQL基础-09DQL语言(数据查询语言)-进阶8分页查询
声明:此MySQL基础学习源自尚硅谷。(推荐)b站官方链接:https://www.bilibili.com/video/BV1xW411u7ax?p=1
进阶8:分页查询
应用场景:当要显示的数据,一页显示不全,需要分页提交sql请求
实际的web项目中需要根据用户的需求提交对应的分页查询的sql语句
语法:
select 查询列表
from 表
【join type join 表2
on 连接条件
where 筛选条件
group by 分组字段
having 分组后的筛选
order by 排序的字段】
limit 【offset,】size;
offset要显示条目的起始索引(起始索引从0开始)
size 要显示的条目个数
特点:
①limit语句放在查询语句的最后
②公式:select * from 表 limit (page-1)*sizePerPage, sizePerPage
每页显示条目数sizePerPage
要显示的页数 page
③起始条目索引从0开始
select 查询列表
from 表
limit (page-1)*size,size;
size=10
page
1 0
2 10
3 20
案例1:查询前五条员工信息
SELECT * FROM employees LIMIT 0,5;
SELECT * FROM employees LIMIT 5;
案例2:查询第11条—第25条
SELECT * FROM employees LIMIT 10,15;
案例3:有奖金的员工信息,并且工资较高的前10名显示出来
SELECT *
FROM
employees
WHERE commission_pct IS NOT NULL
ORDER BY salary DESC
LIMIT 10 ;
以上是关于MySQL - 数据查询语言DQL数据连接语法及实例的主要内容,如果未能解决你的问题,请参考以下文章
MySQL基础-10DQL语言(数据查询语言)-进阶9联合查询