数据库 
首页 > 数据库 > 浏览文章

Mysql连接join查询原理知识点

(编辑:jimmy 日期: 2024/11/16 浏览:3 次 )

Mysql连接(join)查询

1、基本概念

将两个表的每一行,以“两两横向对接”的方式,所得到的所有行的结果。

假设:

表A有n1行,m1列;

表B有n2行,m2列;

则表A和表B“对接”之后,就会有:

n1*n2行;

m1+m2列。

Mysql连接join查询原理知识点

2、则他们对接(连接)之后的结果类似这样:

Mysql连接join查询原理知识点

3、连接查询基本形式: from  表1  【连接方式】 join  表2  【on连接条件】连接查询基本形式: from  表1  【连接方式】 join  表2  【on连接条件】

1、连接查询的分类

交叉连接

其实就是两个表之间按连接的基本概念,进行连接之后所得到的“所有数据”,而对此无任何“筛选”的结果——筛选就是指连接条件。

即:交叉连接就是没有条件的“全部连接”——有称为 笛卡尔积。

交叉连接通常没有实用价值,因为这样连接之后 数据,每一行数据的意义就可能会“丢失”。

形式:

from  表1  【cross】 join  表2  ;

或:

from  表1  , 表2  ;

内连接

形式:

from  表1  【inner】 join  表2  on  表1.字段1 = 表2.字段2;

含义:

取得一个“交叉连接”的结果中,满足所设定的连接条件(就是on后面的条件)的那些行的数据;

交叉连接往往会有“无意义数据”,如下:

Mysql连接join查询原理知识点

Mysql连接join查询原理知识点

2、看内连接的结果:

Mysql连接join查询原理知识点

3、结果为:

Mysql连接join查询原理知识点

4、可见:内连接其实就是找出一个交叉连接的数据结果中,“有意义”的那些数据行。而一个交叉连接,其中的数据,有的有意义,有的没有意义(错误数据)。 

但是,要注意:

  • 1,这种连接条件,不是随意设置,而是要根据表之间的实际关系来设置,通常该关系就是两个表之间的具有“主外键关系”的两个字段的值相等。
  • 2,可见,连接查询,跟我们之前所学的“外键关系”,是有其内在的逻辑一致性的。
  • 3,不过,我们做内连接的时候,并不是要求2个表“必须”有外键关系——我们只是自己从现实角度理解他们有外键关系(数据关系)就可以,而在查询的时候使用内连接就建立起了他们的关系。可见:内连接其实就是找出一个交叉连接的数据结果中,“有意义”的那些数据行。而一个交叉连接,其中的数据,有的有意义,有的没有意义(错误数据)。 

上一篇:MySQL ALTER命令知识点汇总
下一篇:美团DB数据同步到数据仓库的架构与实践
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 站点导航 SiteMap