三度网教程:是一个免费提供流行视频软件教程、在线学习分享的学习平台!

Mysql中对于连接(join)查询详细说明

时间:2023-4-1作者:未知来源:三度网教程人气:


SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。
Mysql中关于连接(join)查询详解


1.基本概念

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

假设:

表A有n1行,m1列;

表B有n2行,m2列;

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

n1*n2行;

m1+m2列。

1.png

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

2.png


3连接查询基本形式:

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后面的条件)的那些行的数据;

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

3.png

2.看内连接的结果:

4.png

3.结果为:

5.png

4.可见:

内连接其实就是找出一个交叉连接的数据结果中,“有意义”的那些数据行。

而一个交叉连接,其中的数据,有的有意义,有的没有意义(错误数据)。

但是,要注意:

1,这种连接条件,不是随意设置,而是要根据表之间的实际关系来设置,通常该关系就是两个表之间的具有“主外键关系”的两个字段的值相等。

2,可见,连接查询,跟我们之前所学的“外键关系”,是有其内在的逻辑一致性的。

3,不过,我们做内连接的时候,并不是要求2个表“必须”有外键关系——我们只是自己从现实角度理解他们有外键关系(数据关系)就可以,而在查询的时候使用内连接就建立起了他们的关系。

以上就是Mysql中关于连接(join)查询详解的详细内容,更多请关注php中文网其它相关文章!


学习教程快速掌握从入门到精通的SQL知识。

关键词:  Mysql中对于连接(join)查询详细说明





Copyright © 2012-2018 三度网教程(http://www.3du8.cn) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版