sql问题

select * from A left join B  on ....

怎么判断 from 后面是接A 还是B 啊,如下例子,

雇员表 Employees 和 办公室表 Buildings.

 sql 里面 from employess  还是from  building 是根据什么判断的啊

1111444.png

yzm281042 发布于 2021-6-1 16:37
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2021-6-1 16:41(编辑于 2021-6-1 22:20)

不好意思,小学语文体育老师教的,刚认真读了一下语法结构,发现我说错了(把主语和定语搞反了)。丢大脸了

取决你先全部显示那张表。比如你想展示employess所有雇员信息(包括无办公室的)就from employess left JOIN Buildings ON employess.雇员=Buildings.雇员 

等效于

from Buildings  RIGHT JOIN employess ON Buildings.雇员=employess.雇员

两者之间的交集用INNER JOIN 并集用FULL JOIN

  • yzm281042 yzm281042(提问者) 比如图里的 1.雇员的办公室名字 -from employess 4.雇员的办公室和对应的容量 -from buildings. 这根据题意 是怎么看出来该 from 哪张表的啊?
    2021-06-01 16:47 
  • Z4u3z1 Z4u3z1 回复 yzm281042(提问者) 看主语啊。XXX的OOO。主语肯定是XXX瑟
    2021-06-01 17:00 
  • yzm281042 yzm281042(提问者) 回复 Z4u3z1 1和4 主语都是 雇员 但是他俩from的不一样呢
    2021-06-01 17:01 
  • Z4u3z1 Z4u3z1 回复 yzm281042(提问者) 第四个可不是雇员哈 https://zhidao.baidu.com/question/198466068228982605.html
    2021-06-01 17:17 
最佳回答
0
snrtuemcLv8专家互助
发布于2021-6-1 16:38

看你哪张作为主表,左连接的话,主表放前面

最佳回答
0
liu.yangLv2初级互助
发布于2021-6-1 17:13

A  left  join  B  就是以A为主,A的所有记录都要展示出来,B只是补充A没有的属性记录

但是如果 where  后面过滤了B的字段的话,那A、B谁左谁右都没有任何区别,相当于inner join 

最佳回答
0
阳光少年Lv6见习互助
发布于2021-6-1 17:33

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

  • 4关注人数
  • 597浏览人数
  • 最后回答于:2021-6-1 22:20
    请选择关闭问题的原因
    确定 取消
    返回顶部