您当前的位置: 首页 >  sql

潇洒白羊

暂无认证

  • 6浏览

    0关注

    68博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Mysql数据库轻松学09—数据分析师常用:数据查询语言DQL之多表查询

潇洒白羊 发布时间:2022-06-13 01:44:07 ,浏览量:6

1 表之间的关系 1.1 一对一

在这里插入图片描述

1.2 一对多

在这里插入图片描述

1.3 多对多

在这里插入图片描述

2 连接方式 2.1 横向连接 2.1.1 内连接 inner join

按照连接条件连接两个表,返回满足条件的行 在这里插入图片描述

select 字段1[,…] from 表1[ inner] join 表2 on 连接条件; 
2.1.2 左连接 left join

结果中除了包括满足连接条件的行外,还包括左表的所有行 在这里插入图片描述

select 字段1[,…] from 表1 left join 表2 on 连接条件; 
2.1.3 右连接 right join

结果中除了包括满足连接条件的行外,还包括右表的所有行 在这里插入图片描述

select 字段1[,…] from 表1 right join 表2 on 连接条件; 
2.1.4 笛卡尔积 cross join

假设集合A={a,b},集合B={1,2,3},则两个集合的笛卡尔积为{(a,1),(a,2),(a,3),(b,1),(b,2),(b,3)}

select 字段1[,…] from 表1,表2[,…]; 
select 字段1[,…] from 表1  cross join 表2[,…]; 		

消除笛卡尔积: 逐行判断,相等的留下,不相等的排除

select 字段1[,…] from 表1,表2[,…] where 筛选条件; 
2.1.5 自连接

通过设置表别名,将同一张表虚拟为多张表进行连接

select * from tabel a inner join table b
on a.id = b.id
2.2 纵向连接 2.2.1 概念

把多条select语句的查询结果合并为一个结果集 被合并的结果集的列数、顺序和数据类型必须完全一致

2.2.2 union去重:
#select 字段1[,字段2,…] from 表名 union select 字段1[,字段2,…] from 表名; 
select * from t1 union select * from t2;
2.2.3 union all不去重:
#select 字段1[,字段2,…] from 表名 union all select 字段1[,字段2,…] from 表名; 
select * from t1 union all select * from t2;
3 连接条件 3.1 等值连接
表1.id=表2.id
3.2 不等值连接
表1.id 比较 表2.id
关注
打赏
1655040589
查看更多评论
立即登录/注册

微信扫码登录

0.0367s