mysql左连接_MySQL left join 左连接的通俗理解
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 左连接的通俗理解相关推荐
- mysql三表外连接_MySql的join(连接)查询 (三表 left join 写法)
1.内连接:将两个表中存在连结关系的字段符合连接条件的记录形成记录集 Select A.name,B.name from A inner join B on A.id=B.id和 Select A.n ...
- mysql一图秒懂秒清晰 - join连接 ,left join左连接 ,right join右连接 ,inner join内连接
前言:zuo表和you表短短五行涵盖了数据中所有可能遇见的情况: 1.左表有重复值(合同号=1134): 2.右表有重复值(合同号=1133): 3.左表存在右表没有的合同号(合同号=1188): 4 ...
- 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 ...
- 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 ...
- mysql长连接_mysql.connector 数据库长连接
最近python服务经常报连接不存在,后来发现原来的同事写的是缓存来存储连接对象,过期就关闭重连,可是有其他线程还在用该连接,于是就出现了连接不存在的错误,于是改进一下: 连接数据库时查看连接对象是否 ...
- mysql 不同端口_mysql不同端口的连接
连接mysql3306端口命令 mysql -h58.64.217.120 -ushop -p123456 连接非3306端口(指定其他端口) 的命令 mysql -h58.64.217.120 -P ...
- mysql right join实例_MySQL表LEFT JOIN左连接与RIGHT JOIN右连接的实例教程
LEFT JOIN 语法用法与实例MySQL LEFT JOIN 语法 SQL(MySQL) LEFT JOIN 会取得左表(table1)全部记录,即使右表(table2)并无对应匹配记录.LEFT ...
- spark1.4加载mysql数据 创建Dataframe及join操作连接方法问题
首先我们使用新的API方法连接mysql加载数据 创建DF import org.apache.spark.sql.DataFrame import org.apache.spark.{SparkCo ...
- mysql 函数多个连接_MySQL数据库中如何连接两个或多个字符串呢?
摘要: 下文讲述MySQL数据库中组合字符串的方法分享,如下所示: 实现思路: 使用系统函数CONCAT即可实现两个或多个字符串的组合连接 注意事项: 当组合字符串中,任意一个字符为NULL时,则返回 ...
最新文章
- R语言使用psych包进行探索性因子分析EFA、使用cov2cor函数将原始数据的协方差矩阵将其转换为相关性矩阵( covariance matrix into correlation matrix)
- #一周五# VS2015 CTP6, TFS2015 CTP1更新,老衣的开发工具汇总,2015 MVP 社区巡讲
- 默认析构函数与空析构函数并不完全等价
- PlantUML时序图
- xmind快捷键_XMind思维导图软件最全面的使用教程!
- 方法区元空间实现之jdk7和8字符串常量池、运行时常量池、静态变量到底在哪?
- Windows XP SP3 最终发布日期公布
- 【高危漏洞通告】Spring Framework 远程代码执行 (CVE-2022-22965)
- esri-leaflet入门教程(4)-加载各类图层
- http请求,普通的get和post方法
- [Swift]LeetCode306. 累加数 | Additive Number
- latex 引用文献cite, citet,citep的区别
- C语言的5种简单排序算法
- python电商项目介绍_django打造电商项目
- gnfc——游戏增强现实语音通话系统
- 生活随记 - 不知名的花儿
- 蓝湖怎么切图标注_如何用蓝湖做自动标注 ?
- 你始终欠自己一个努力的模样
- 不能装载文档控件。请在检查浏览器的选项中检查浏览器的安全设置_「初级会计报考指南」浏览器问题解决方案...
- 谷歌退出中国声明全文(中英对照版)A new approach to China
热门文章
- 剪映导出帧率选多少_剪映帧率怎么设置?剪映帧率设置方法
- 使用计算机软件进行电视剪辑称为,浙江省2008年4月高等教育自学考试影像与剪辑艺术试题...
- bash: /etc/apt/sources.list: 权限不够的解决办法
- 可以直接反编译Mips架构的IDA版本(无需安装脚本)
- python中F/f表达式优于format()表达式
- Python必学内容:格式化输出的三种方式
- python中取整数的四种方法
- Python基础教程:迭代和解析
- C语言中流程图的主要作用是,C语言 三大流程控制
- python如何读取一个文件夹下的多个文件(夹)?