你说我叫啥好呢
2015-12-31 17:47
什么时候要用left join,它的连接条件怎么确定,怎么知道用哪个表作为左表,又怎么确定要查询哪些字段呢,求解答。谢谢!
第一个问题:什么时候用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 表的主键。就是主外键关联作为条件。
第三个问题:怎么知道用那个表作为左表?
就像第一个问题中所说的,想查询某个表中的所有内容,查询另一个表中的关联内容,那么想查询所有内容的表作为左表。
第四个问题:怎么确定要查询那些字段?
* 代表查询所有字段,如果想查询某个表的字段,可以使用 "表名(如果有别名,就用别名).*",如果想查询部分字段,可以使用“表名(如果有别名,就用别名).字段名”,如果字段有冲突,就为字段重新命名!
楼上大神 啊
MySQL开发技巧(一)
148779 学习 · 123 问题
相似问题