加入收藏 | 设为首页 | 会员中心 | 我要投稿 92站长网 (https://www.92zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql连接join查询的原理是什么

发布时间:2022-02-14 14:59:05 所属栏目:MySql教程 来源:互联网
导读:Mysql连接join查询的原理是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 Mysql连接(join)查询 1、基本概念 将两个表的每一行,以两两横向对接的方式,所得到的所有行的结果
       Mysql连接join查询的原理是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
 
       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后面的条件)的那些行的数据;
 
4、可见:内连接其实就是找出一个交叉连接的数据结果中,“有意义”的那些数据行。而一个交叉连接,其中的数据,有的有意义,有的没有意义(错误数据)。
 
但是,要注意:
 
1,这种连接条件,不是随意设置,而是要根据表之间的实际关系来设置,通常该关系就是两个表之间的具有“主外键关系”的两个字段的值相等。
2,可见,连接查询,跟我们之前所学的“外键关系”,是有其内在的逻辑一致性的。
3,不过,我们做内连接的时候,并不是要求2个表“必须”有外键关系——我们只是自己从现实角度理解他们有外键关系(数据关系)就可以,而在查询的时候使用内连接就建立起了他们的关系。可见:内连接其实就是找出一个交叉连接的数据结果中,“有意义”的那些数据行。而一个交叉连接,其中的数据,有的有意义,有的没有意义(错误数据)。
关于Mysql连接join查询的原理是什么问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助。

(编辑:92站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读