LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。下面给个通俗的解释吧。

表a

aid adate

1 a1

2 a2

3 a3

表b

bid bdate

1 b1

2 b2

4 b4

两个表a、b相连接,要取出id相同的字段。

select * from a inner join b on a.aid = b.bid

这是仅取出匹配的数据。

此时的取出的是:

1 a1 b1

2 a2 b2

那么left join 指:

select * from a left join b on a.aid = b.bid

首先取出a表中所有数据,然后再加上与a、b匹配的的数据。

此时的取出的是:

1 a1 b1

2 a2 b2

3 a3 空字符

同样的也有right join

指的是首先取出b表中所有数据,然后再加上与a、b匹配的的数据。

此时的取出的是:

1 a1 b1

2 a2 b2

4 空字符 b4

LEFT JOIN 或 LEFT OUTER JOIN。

左向外联接的结果集包括 LEFT OUTER 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。

实例

"Persons" 表:

Id_PLastNameFirstNameAddressCity

1AdamsJohnOxford StreetLondon

2BushGeorgeFifth AvenueNew York

3CarterThomasChangan StreetBeijing

"Orders" 表:

Id_OOrderNoId_P

1778953

2446783

3224561

4245621

53476465

左连接(LEFT JOIN)实例

现在,我们希望列出所有的人,以及他们的定购 - 如果有的话。

您可以使用下面的 SELECT 语句:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo

FROM Persons

LEFT JOIN Orders

ON Persons.Id_P=Orders.Id_P

ORDER BY Persons.LastName

结果集:

LastNameFirstNameOrderNo

AdamsJohn22456

AdamsJohn24562

CarterThomas77895

CarterThomas44678

BushGeorge

LEFT JOIN 关键字会从左表 (Persons) 那里返回所有的行,即使在右表 (Orders) 中没有匹配的行。

mysql左连接_MySQL left join 左连接的通俗理解相关推荐

  1. mysql三表外连接_MySql的join(连接)查询 (三表 left join 写法)

    1.内连接:将两个表中存在连结关系的字段符合连接条件的记录形成记录集 Select A.name,B.name from A inner join B on A.id=B.id和 Select A.n ...

  2. mysql一图秒懂秒清晰 - join连接 ,left join左连接 ,right join右连接 ,inner join内连接

    前言:zuo表和you表短短五行涵盖了数据中所有可能遇见的情况: 1.左表有重复值(合同号=1134): 2.右表有重复值(合同号=1133): 3.左表存在右表没有的合同号(合同号=1188): 4 ...

  3. mysql left join 三表查询_MySql的join(连接)查询 (三表 left join 写法)

    1.内连接:将两个表中存在连结关系的字段符合连接条件的记录形成记录集 Select A.name,B.name from A inner join B on A.id=B.id和 Select A.n ...

  4. mysql 三表inner join_MySql的join(连接)查询 (三表 left join 写法)

    1.内连接:将两个表中存在连结关系的字段符合连接条件的记录形成记录集 Select A.name,B.name from A inner join B on A.id=B.id和 Select A.n ...

  5. mysql长连接_mysql.connector 数据库长连接

    最近python服务经常报连接不存在,后来发现原来的同事写的是缓存来存储连接对象,过期就关闭重连,可是有其他线程还在用该连接,于是就出现了连接不存在的错误,于是改进一下: 连接数据库时查看连接对象是否 ...

  6. mysql 不同端口_mysql不同端口的连接

    连接mysql3306端口命令 mysql -h58.64.217.120 -ushop -p123456 连接非3306端口(指定其他端口) 的命令 mysql -h58.64.217.120 -P ...

  7. mysql right join实例_MySQL表LEFT JOIN左连接与RIGHT JOIN右连接的实例教程

    LEFT JOIN 语法用法与实例MySQL LEFT JOIN 语法 SQL(MySQL) LEFT JOIN 会取得左表(table1)全部记录,即使右表(table2)并无对应匹配记录.LEFT ...

  8. spark1.4加载mysql数据 创建Dataframe及join操作连接方法问题

    首先我们使用新的API方法连接mysql加载数据 创建DF import org.apache.spark.sql.DataFrame import org.apache.spark.{SparkCo ...

  9. mysql 函数多个连接_MySQL数据库中如何连接两个或多个字符串呢?

    摘要: 下文讲述MySQL数据库中组合字符串的方法分享,如下所示: 实现思路: 使用系统函数CONCAT即可实现两个或多个字符串的组合连接 注意事项: 当组合字符串中,任意一个字符为NULL时,则返回 ...

最新文章

  1. R语言使用psych包进行探索性因子分析EFA、使用cov2cor函数将原始数据的协方差矩阵将其转换为相关性矩阵( covariance matrix into correlation matrix)
  2. #一周五# VS2015 CTP6, TFS2015 CTP1更新,老衣的开发工具汇总,2015 MVP 社区巡讲
  3. 默认析构函数与空析构函数并不完全等价
  4. PlantUML时序图
  5. xmind快捷键_XMind思维导图软件最全面的使用教程!
  6. 方法区元空间实现之jdk7和8字符串常量池、运行时常量池、静态变量到底在哪?
  7. Windows XP SP3 最终发布日期公布
  8. 【高危漏洞通告】Spring Framework 远程代码执行 (CVE-2022-22965)
  9. esri-leaflet入门教程(4)-加载各类图层
  10. http请求,普通的get和post方法
  11. [Swift]LeetCode306. 累加数 | Additive Number
  12. latex 引用文献cite, citet,citep的区别
  13. C语言的5种简单排序算法
  14. python电商项目介绍_django打造电商项目
  15. gnfc——游戏增强现实语音通话系统
  16. 生活随记 - 不知名的花儿
  17. 蓝湖怎么切图标注_如何用蓝湖做自动标注 ?
  18. 你始终欠自己一个努力的模样
  19. 不能装载文档控件。请在检查浏览器的选项中检查浏览器的安全设置_「初级会计报考指南」浏览器问题解决方案...
  20. 谷歌退出中国声明全文(中英对照版)A new approach to China

热门文章

  1. 剪映导出帧率选多少_剪映帧率怎么设置?剪映帧率设置方法
  2. 使用计算机软件进行电视剪辑称为,浙江省2008年4月高等教育自学考试影像与剪辑艺术试题...
  3. bash: /etc/apt/sources.list: 权限不够的解决办法
  4. 可以直接反编译Mips架构的IDA版本(无需安装脚本)
  5. python中F/f表达式优于format()表达式
  6. Python必学内容:格式化输出的三种方式
  7. python中取整数的四种方法
  8. Python基础教程:迭代和解析
  9. C语言中流程图的主要作用是,C语言 三大流程控制
  10. python如何读取一个文件夹下的多个文件(夹)?