select * from A left join B on ....
怎么判断 from 后面是接A 还是B 啊,如下例子,
雇员表 Employees 和 办公室表 Buildings.
sql 里面 from employess 还是from building 是根据什么判断的啊
不好意思,小学语文体育老师教的,刚认真读了一下语法结构,发现我说错了(把主语和定语搞反了)。丢大脸了
取决你先全部显示那张表。比如你想展示employess所有雇员信息(包括无办公室的)就from employess left JOIN Buildings ON employess.雇员=Buildings.雇员
等效于
from Buildings RIGHT JOIN employess ON Buildings.雇员=employess.雇员
两者之间的交集用INNER JOIN 并集用FULL JOIN
看你哪张作为主表,左连接的话,主表放前面
A left join B 就是以A为主,A的所有记录都要展示出来,B只是补充A没有的属性记录
但是如果 where 后面过滤了B的字段的话,那A、B谁左谁右都没有任何区别,相当于inner join
1、
select * from A left join B
则 A全部的记录都在, B表则只是附属
2、
select * from B left join A
则 B全部的记录都在, A 表则只是附属
3、
推荐SQL树懒学堂,里面有详细的关键字使用:
https://www.shulanxt.com/database/sql/sql-join-left