MySQL JOIN (inner 和 left 的区别)

MySQL JOIN 的分类

  1. inner join(内连接):取得两个表中存在连接匹配关系的记录
  2. left join (左连接):以左表为基准(取左表所有记录),右表匹配向左表
  3. right join(右连接):与left join 相反

article 文章表:

aidtitlecontentuid
1文章1文章1正文内容…1
2文章2文章2正文内容…1
3文章3文章3正文内容…2
4文章4文章4正文内容…4

user 用户表:

uidusernameemail
1adminadmin@5idev.com
2小明xiao@163.com
3Jackjack@gmail.com

inner join:

SELECT article.aid,article.title,user.username FROM article INNER JOIN user ON article.uid = user.uid

结果table1:

aidtitleusername
1文章1admin
2文章2admin
3文章3小明

可以看到 没有 article.aid 这项的记录。因为 此项记录的article.uid = 4 在user 表中 没有 匹配项。

lefe join:

SELECT article.aid,article.title,user.username FROM article LEFT JOIN user ON article.uid = user.uid

结果table2:

aidtitleusername
1文章1admin
2文章2admin
3文章3小明
4文章4NULL

比较 table1,table2可以看到 两者的区别, 其中 article.aid = 4 在表中存在,其中article.username = null(右表中没有对应匹配的数据记录,其所有的列都被置为 NULL).

文章来源于:
http://www.5idev.com/p-php_mysql_left_join.shtml

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值