left join 语句是怎么查询的呢?

小武茶庄 2014-04-01 09:40:20

如:t_student
id name
1 1-name
2 2-name
3 3-name

select * from t_student t1 left join t_student t2 on t1.id = t2.id;


上面的查询没任何意义,只是作为例子说明而已。
请问上面这条语句内部是怎么个执行法?
查询 t1第一条记录时,id为1。是不是把1作为t2的where条件来查询??还是??
...全文
152 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
benluobo 2014-04-02
  • 打赏
  • 举报
回复
FOR each row t1 in T1 { BOOL f1:=FALSE; FOR each row t2 in T2 such that P1(t1,t2) { IF P(t1,t2) { t:=t1||t2; OUTPUT t; } f1=TRUE; } IF (!f1) { t:=t1||NULL; OUTPUT t; } }
小武茶庄 2014-04-01
  • 打赏
  • 举报
回复
引用 1 楼 ACMAIN_CHM 的回复:
把1作为t2的where条件来查询 正解
能否按照您的理解给我详细的说一下呢?如果left join 能够把它拆分成多条sql给我讲一下那更好了?^_^
ACMAIN_CHM 2014-04-01
  • 打赏
  • 举报
回复
把1作为t2的where条件来查询 正解

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧