为了账号安全,请及时绑定邮箱和手机立即绑定

关于left join 的一些问题

什么时候要用left join,它的连接条件怎么确定,怎么知道用哪个表作为左表,又怎么确定要查询哪些字段呢,求解答。谢谢!

正在回答

3 回答

第一个问题:什么时候用left join?说说我的理解

两个表(left join左边的表称为左表,右边的称为右表)有主外键关联时,这个是前提条件,我们想同时查询两个表中的信息,这个时候可以采用这种left join,当然也可以用right join,简单说一下区别,left join是以左表为主,就是查询出左表的全部数据并查询出右表的主外键关联数据,right join相反。你可以找点文章看看。

第二个问题:连接条件怎么确定?

SELECT * FROM beasp_user u LEFT JOIN beasp_address a ON u.`id`=a.`user_id`

这里u.'id' 中的 id 为左表的主键,a.'user_id'为右表的外键,指向 u 表的主键。就是主外键关联作为条件。

第三个问题:怎么知道用那个表作为左表?

就像第一个问题中所说的,想查询某个表中的所有内容,查询另一个表中的关联内容,那么想查询所有内容的表作为左表。

第四个问题:怎么确定要查询那些字段?

* 代表查询所有字段,如果想查询某个表的字段,可以使用 "表名(如果有别名,就用别名).*",如果想查询部分字段,可以使用“表名(如果有别名,就用别名).字段名”,如果字段有冲突,就为字段重新命名!


2 回复 有任何疑惑可以回复我~
建议结合集合论&VENN图学习。
0 回复 有任何疑惑可以回复我~

楼上大神 啊

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于left join 的一些问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信