sql四大join的用法和实例

sql的各种Join的定义与区别:

INNER JOIN:如果表中有至少一个匹配,则返回行

LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行

RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行

FULL JOIN:只要其中一个表中存在匹配,则返回行

各种Join的图解

SQL各种join的区别

实例演示 tbla表

DROP TABLE IF EXISTS `tbla`;
CREATE TABLE tbla(
	aid INT NOT NULL AUTO_INCREMENT,
	aname VARCHAR(30),
	money FLOAT,
  PRIMARY KEY (`aid`)
)

INSERT INTO tbla VALUES(1,"ali",13321.13),(2,"tens",12888.13),(3,"Google",13888.13),(4,"baidu",8899.13)

tblB表

DROP TABLE IF EXISTS `tblB`;
CREATE TABLE tblB(
	bid INT NOT NULL AUTO_INCREMENT,
	bname VARCHAR(30),
	money FLOAT,
  PRIMARY KEY (`bid`)
)

INSERT INTO tblB VALUES(1,"Google",13321.13),(2,"MIT",12888.13),(3,"microsoft",13888.13),(4,"baidu",8899.13)

接下来就是各种Join实例测试

1、inner join的实例

SELECT * FROM tbla INNER JOIN tblb ON tbla.aname=tblb.bname

会得到的结果如下图

输入图片说明

2、LEFT JOIN的实例

SELECT * FROM tbla LEFT JOIN tblb ON tbla.aname=tblb.bname

会得到的结果如下图

输入图片说明

3、RIGHT JOIN的实例

SELECT * FROM tbla RIGHT JOIN tblb ON tbla.aname=tblb.bname

会得到的结果如下图

输入图片说明

转载于:https://my.oschina.net/u/3269608/blog/1539683

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值