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_基本概念&DQL查询语言

MySQL基础-10DQL语言(数据查询语言)-进阶9联合查询

MySQL基础-09DQL语言(数据查询语言)-进阶8分页查询

MySQL之DQL——查询语言

MySQL_基础_DQL数据查询语言

MySQL常用语法