前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >join的使用

join的使用

作者头像
西西嘛呦
发布2020-08-26 10:10:51
3980
发布2020-08-26 10:10:51
举报
代码语言:javascript
复制
我们还是以这四张表为例:
1.left join
select * from student a left join score b on a.sid=b.sid;

也就是说A中的元素都会显示,没有值的用Null填充,结果如下:

2.right join

代码语言:javascript
复制
select * from student a right join score b on a.sid=b.sid;

也就是说只会显示B中存在的元素,结果如下

3.outer join

MySQL不支持OUTER JOIN,但是我们可以对左连接和右连接的结果做UNION操作来实现。

代码语言:javascript
复制
select * from student a left join score b on a.sid=b.sid union select * from student a right join score b on a.sid=b.sid;

4.inner join

内连接INNER JOIN是最常用的连接操作。从数学的角度讲就是求两个表的交集,从笛卡尔积的角度讲就是从笛卡尔积中挑出ON子句条件成立的记录。有INNER JOIN,WHERE(等值连接),STRAIGHT_JOIN,JOIN(省略INNER)四种写法。

select * from student a inner join score b on a.sid=b.sid;

select * from student a join score b on a.sid=b.sid;

select * from student a, score b where a.sid=b.sid;

select * from student a STRAIGHT_JOIN score b on a.sid=b.sid;

5.using子句

MySQL中连接SQL语句中,ON子句的语法格式为:table1.column_name = table2.column_name。当模式设计对联接表的列采用了相同的命名样式时,就可以使用 USING 语法来简化 ON 语法,格式为:USING(column_name)。 所以,USING的功能相当于ON,区别在于USING指定一个属性名用于连接两个表,而ON指定一个条件。另外,SELECT *时,USING会去除USING指定的列,而ON不会。实例如下。

select * from student a inner join score b using(sid);

6.nature join

自然连接就是USING子句的简化版,它找出两个表中相同的列作为连接条件进行连接。有左自然连接,右自然连接和普通自然连接之分。

select * from student natural join score;

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档