2020.7.22英谷实训日志

连接查询

概念:查询的字段来自于多个表
语法:
select 字段1,字段2
from 表1,表2
【where 连接条件】
笛卡尔乘积:
产生原因:没有加连接条件,导致结果为 表1 的行数*表2 的行数
解决方法:添加上有效的myemployees

分类:
一、传统模式的多表连接
等值连接(where)——非等值连接

二、sql99推出的标准,使用join关键字实现连接
内连接——外连接

三、自连接
等值连接

特点有
①表的顺序没有要求
②n表连接,至少需要n-1个连接条件
③一般需要为表起别名,这样可以提高语句简洁度,并且防止字段有歧义
④可以添加分组、排序、筛选,一起混合使用

1.内连接

语法:
select 字段1,字段2,…
from 表1
inner join 表2 on 连接条件;

特点:
① 效果和等值连接是一样的!
② 表的顺序可以调换
③ 可以为表起别名
④ 可以添加筛选、分组、排序
⑤ 将筛选条件和连接条件实现了分类,提高代码的可读性
⑥ n表连接,至少需要n-1 个连接条件

2.外连接

语法:
select 字段1,字段2,…
from 表1
left|right 【outer】 join 表2
on 连接条件

特点:
①查询结果:内连接的结果+主表中有但从表没有的记录(从表的字段用null填充)
②左连接,左边的就是主表; 右连接,右边的就是主表
③一般来讲要查询的字段来自于哪个表,那哪个表就是主表
④一般用于查询主表中有但从表中没有的记录

分页查询

#语法
#SELECT 查询的东西
#FROM 表
#【WHERE 条件】
#【GROUP BY 字段】
#【HAVING 条件】
#【ORDER BY 排序的字段】

LIMIT 条目起始索引

1.写法

写法一:
LIMIT 条目数
意思:从第一条开始,显示指定条目数的数据
写法二:
LIMIT 起始条目索引,条目数
意思:从指定的起始索引的条目开始,显示指定条目数的数据

2.起始索引从0开始

Mysql中不支持全外连接。内连接中的表的顺序可以调换,可以为表起名字,可以添加筛选、分组、排序。
①表的顺序没有要求
②n表连接最少需要n-1个连接条件
③一般需要为表起别名,可以提高语句的简介度
④可以添加分组、排序、筛选,混合使用。

ps:昨晚偷了个懒,出去转了一圈,回来忘记上传了嘻嘻嘻(狗头保命)

猜你喜欢

转载自blog.csdn.net/Aigtbb/article/details/107543818