Mysql笛卡尔积附实现多表查询代码实现
前言:实际开发中往往数据来自不同的表,所以需要多表联合查询。多表查询是对多张表的数据取笛卡尔积:
1.何为笛卡尔积?
简单来说:就是 简单的 排列组合。
把两张表的记录,放在一起进行排列组合的所有情况。
下面我们通过一个示例来进行说明:
排列组合如下:
通过以上可以发现:笛卡尔积的列数就是两个表的列数之和( 3 2 = 5),行数则是两个表的行数之积(2 * 4 = 8 )。因此,需要注意的是:我们在进行多表查询的时候(计算笛卡尔积的过程),如果两个表数据很大,就会非常低效,甚至成为危险操作。
代码:
Tip(多表情况):如果是三个表的话,那么就是先将两个表进行笛卡尔积运算,再用这个表与另外一个表进行笛卡尔积操作(以此类推)。
a.何为连接条件?
因为毕竟笛卡尔积只是简单的将他们进行排列组合(并没有进行筛选有效信息),我们将有效信息这一筛选的过程称为:连接条件(student.classId = classes.classId)
b.联合查询实质:
得出结论:多表查询/联合查询 = 笛卡尔积 连接条件 其他条件(具体需求)。
c.代码实现:
用 join on 实现:
注意:这里都有相同的记录名(classId),所以这里通过 表名.列名 的方法实现,如果不用则会报错:
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfjijii
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13