数据库中的LEFT JOIN 个人理解
Posted 宇宙由我代码生成
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库中的LEFT JOIN 个人理解相关的知识,希望对你有一定的参考价值。
首先要明白LEFT JOIN 的作用
TABLE A LEFT JOIN TABLE B 的意思指,将表A和表B拼接起来,就是按照一定的规则(自己制定)把A和B的行组合起来。
比如有以上两个表,现在有一个语句:
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons LEFT JOIN Orders ON Persons.Id_P=Orders.Id_P ORDER BY Persons.LastName;
这句话的主要用意就是把Persons中的LastName、FirstName两列和Orders中的OrderNo拼起来,组合成一个新的表:| LastName | FirstName | OrderNo |
但是这句话有点不好理解,我觉得主要是断句不好,官方的断句以及W3school上的断句就像上面展示的一样。我个人的断句如下:
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM #第一行表明要查的结果 Persons #紧接着的三行表明查询的目标 LEFT JOIN #即从哪里查出来第一句想要的结果
Orders
ON Persons.Id_P=Orders.Id_P
ORDER BY Persons.LastName
以上的断句的意思是:
第一行:SELECT 后面是要查的列名,包括两个表中的列
第二行:指明 LEFT JOIN 操作中的左表,即上面示意中的A表
第三行:LEFT JOIN 关键字
第四行:指明 LEFT JOIN 操作中的右表,即上面示意中的B表
第五行: 指明拼接的规则
二、三、四行的结果集正是第一行查询的对象,从FROM可以看出
最后一行是用来将最终的结果拍序的。
本来想用图表示一下过程的,奈何图太大...,就这样吧.
以上是关于数据库中的LEFT JOIN 个人理解的主要内容,如果未能解决你的问题,请参考以下文章
有人可以用 JOIN 和 LEFT JOIN 帮助我理解以下 SQL 代码吗? (对 SQL 来说真的很新)
sql语句中left join和inner join中的on与where的区别分析
ql语句中left join和inner join中的on与where的区别分析
关于VF中select left(right) join的准确用法