数据库中的左连接和右连接的区别
2023-09-11 14:20:33 时间
今天,别人问我一个问题:数据库中的左连接和右连接有什么区别?如果有A,B两张表,A表有3条数据,B表有4条数据,通过左连接和右连接,查询出的数据条数最少是多少条?最多是多少条?
我被这个问题问住了,后来我去问了数据库开发人员,结果结果各种各样:
a 最大12 最小0
b 最大12 最小未知
c 最大未知 最小为3
d 最大12 最小为3
e 不清楚
1、说明
(1)左连接:只要左边表中有记录,数据就能检索出来,而右边有
的记录必要在左边表中有的记录才能被检索出来
(2)右连接:右连接是只要右边表中有记录,数据就能检索出来
2、举例说明
新建两张表,分别为t_left_tab和t_right_tab
将t_left_tab作为左边表,t_right_tab作为右边
左连接:SELECT * FROM t_left_tab a LEFT JOIN t_right_tab b ON a.`id` = b.`id`;
查询结果:
右连接:SELECT * FROM t_right_tab a LEFT JOIN t_left_tab b ON a.`id` = b.`id`;
查询结果:
查询最大条数:SELECT * FROM t_left_tab a LEFT JOIN t_right_tab b ON 1=1;
查询结果:
3、总结
A 数据库左连接和右连接的区别:主表不一样
B 通过左连接和右连接,最小条数为3(记录条数较小的记录数),最大条数为12(3×4)
最新内容请见作者的GitHub页:http://qaseven.github.io/
mysql多表查询(一口气解决掉:自连接 左右连接 满连接等) 多表查询,也称为关联查询,指两个或更多个表一起完成查询操作。 前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段,这个关联字段可能建立了外键,也可能没有建立外键。比如:员工表和部门表,这两个表依靠“部门编号”进行关联。
![](http://www.51testing.com/attachments/2014/07/14982672_201407161021481QX7s.jpg)
![](http://www.51testing.com/attachments/2014/07/14982672_201407161021482Oqi5.jpg)
![](http://www.51testing.com/attachments/2014/07/14982672_2014071610214837wtY.jpg)
mysql多表查询(一口气解决掉:自连接 左右连接 满连接等) 多表查询,也称为关联查询,指两个或更多个表一起完成查询操作。 前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段,这个关联字段可能建立了外键,也可能没有建立外键。比如:员工表和部门表,这两个表依靠“部门编号”进行关联。
相关文章
- Python数据库操作
- EntityFramework 更新数据库字段的三种方法
- 利用PowerDesigner连接Mysql数据库并逆向所有表关系图【两种方式】
- 数据库管理工具
- Java--JDBC连接数据库
- Laravel判断数据库是否连接
- 【Java】通过“配置文件”建立MySQL数据库连接,读取数据库(有图,有示例)
- eclipse连接mysql数据库
- mongodb[二]查看数据库,创建数据库,删除数据库
- 《数据库技术原理与应用教程第2版》——2.2数据库内部结构体系
- jdbc连接数据库使用sid和service_name的区别
- 数据库安全性
- MySQL数据库中随机获取一条或多条记录
- SQL Server 2005/2008备份数据库时提示“无法打开备份设备”
- 《图数据库(第2版)》——2.4 小结
- 七步让Java程序通过JDBC连接数据库
- SQL Server连接数据库失败,可能的问题!
- oracle数据库之数据插入、修改和删除
- sql 创建数据库并对数据库更改排序规则
- Java_jdbc 基础笔记之二 数据库连接
- 不以规矩不成方圆:Digital Ocean也删除了他们的数据库
- js IndexedDB:浏览器端数据库的demo实例
- 当MySQL想恋爱,java和navicate抢着做媒婆 ------ java连接MySQL数据库 & navicat for MySQL 连接
- 刚刚完成了在vs2013中通过 ef连接mysql数据库的工作。感觉没有想象中的简单。试了n次终于成功。故记录成功的方法,希望可以帮到大家
- MySQL数据库远程连接开启方法
- ADO连接数据库的增删改查方法
- 静默方式安装10g数据库软件+升级patch+手工建库
- 配置PL/SQL Developer连接server数据库
- Robot:robot如何连接Oracle数据库(windows+linux)
- 构建一个高可扩展性javabean和jsp连接数据库操作
- oracle数据库如何保存SQL语句?