Mysql笛卡尔积(附实现多表查询代码实例)

 更新时间:2026年06月26日 10:39:12   作者:不应该热爱  
多表查询与笛卡尔积结合连接条件高效实现数据联合,通过示例解析多表查询原理与应用场景,强调连接条件筛选重要信息的重要性

前言

实际开发中往往数据来自不同的表,所以需要多表联合查询。多表查询是对多张表的数据取笛卡尔积

简单来说:就是 简单的 排列组合。

把两张表的记录,放在一起进行排列组合的所有情况。

下面我们通过一个示例来进行说明:

排列组合如下:

通过以上可以发现

笛卡尔积的列数就是两个表的列数之和( 3 + 2 = 5),行数则是两个表的行数之积(2 * 4 = 8 )。因此,需要注意的是:我们在进行多表查询的时候(计算笛卡尔积的过程),如果两个表数据很,就会非常低效,甚至成为危险操作

代码

Tip(多表情况):如果是三个表的话,那么就是先将两个表进行笛卡尔积运算,再用这个表与另外一个表进行笛卡尔积操作(以此类推)。

a.何为连接条件?

因为毕竟笛卡尔积只是简单的将他们进行排列组合(并没有进行筛选有效信息),我们将有效信息这一筛选的过程称为:连接条件(student.classId = classes.classId)

b.联合查询实质

得出结论:多表查询/联合查询 = 笛卡尔积 + 连接条件 + 其他条件(具体需求)。 

c.代码实现

join on 实现:

注意:

这里都有相同的记录名(classId),所以这里通过 表名.列名 的方法实现,如果不用则会报错:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。 

相关文章

  • SQL SERVER 2005 最小安装经验

    SQL SERVER 2005 最小安装经验

    很久以前有个疑问 安装SQL SERVER 2005后为什么会把VS2005给装上了,当时很郁闷,试想是不是在哪个环节把VS2005组件勾上的?
    2011-02-02
  • SQL函数实现Group_concat用法

    SQL函数实现Group_concat用法

    GROUP_CONCAT用于将每个分组内的值连接成一个字符串,并通过指定的分隔符进行分隔,本文主要介绍了SQL函数实现Group_concat用法,具有一定的参考价值,感兴趣的可以了解一下
    2024-08-08
  • 21条MySQL优化建议(经验总结)

    21条MySQL优化建议(经验总结)

    这篇文章主要介绍了21条MySQL优化建议,均来自个人的实战经验总结,需要的朋友可以参考下
    2014-07-07
  • mysql截取的字符串函数substring_index的用法

    mysql截取的字符串函数substring_index的用法

    这篇文章主要介绍了mysql截取的字符串函数substring_index的用法,需要的朋友可以参考下
    2014-08-08
  • mysql解压包的安装基础教程

    mysql解压包的安装基础教程

    这篇文章主要为大家详细介绍了mysql解压包的安装基础教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • Navicat导入mysql数据库的图文教程

    Navicat导入mysql数据库的图文教程

    本文主要介绍了Navicat导入mysql数据库的图文教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • MySQL和Python交互的示例

    MySQL和Python交互的示例

    这篇文章主要介绍了MySQL和Python交互的示例,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-03-03
  • Mysql创建视图中文乱码如何修改docker里的配置

    Mysql创建视图中文乱码如何修改docker里的配置

    这篇文章主要介绍了Mysql创建视图中文乱码如何修改docker里的配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-10-10
  • 详解MySQL的sql_mode查询与设置

    详解MySQL的sql_mode查询与设置

    这篇文章主要介绍了详解MySQL的sql_mode查询与设置,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • DDL数据库与表的创建和管理深入讲解使用教程

    DDL数据库与表的创建和管理深入讲解使用教程

    这篇文章主要介绍了DDL数据库与表的创建和管理,系统架构的层面来看,数据库从大到小依次是数据库服务器(上面安装了DBMS和数据库)、数据库(也称database或者schema)、数据表、数据表的行与列
    2023-04-04

最新评论