快速,持续,稳定,傻瓜式
支持Mysql,Sqlserver数据同步

【mysql 链接两张表一对多】

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

I.连接查询

1,联接查询:将多个表联接在一起进行查询(将导致记录(行)和字段(列)的数量发生变化)

2.连接查询的含义:关系数据库中,实体(表)与实体之间存在许多连接。该表的设计遵循以下关系(一对一,一对多和多对多)。通常,在实际操作过程中,需要使用这一层关系来确保数据的完整性

3.连接查询:加入。用法:左表联接右表

(1)左表:join关键字左侧的表

(2)右表:join关键字右侧的表

4.连接查询的分类:在MySQL中,连接查询分为四类:交叉连接,内部连接,外部连接(左连接+右连接)和自然连接

第二,交叉连接

1.交叉连接:交叉连接。相互交叉两个表的数据,并保留结果

2.原理

(1)从表中依次获取每个记录

(2)将每个检索到的记录与另一个表中的所有记录进行匹配

(3)没有匹配条件,所有结果都将保留(无条件匹配)

(4)记录数=第一个表中的记录数*第二个表中的记录数

字段数=第一个表中的字段数*第二个表中的字段数

(5)最终结果称为笛卡尔积

3.基本语法

4.交叉连接是为了确保结构的完整性。但是实际上,交叉连接(笛卡尔积)没有意义,应尽可能避免使用(因为交叉连接不需要数据,这将导致数据量呈指数增长,从而导致内存消耗和服务器负载增加) )

5.应用:交叉连接的结果是笛卡尔积,没有实际应用

三,内部连接

1.内部连接:[内部]连接。将所有记录从一个表移到另一表,并使用匹配条件进行匹配。如果匹配成功,它将被保留;如果匹配失败,将被放弃。最终获得的是可以在另一个表中匹配的数据(连接条件在左右表中匹配,并且不匹配将被忽略)

注意:当内部连接匹配时,必须保证匹配将被保存(左表将根据条件匹配右表中的数据,并且左表中的对应记录将被保存) )

2.原理

(1)从第一个表中获取一条记录,然后转到另一个表以进行匹配

(2)使用匹配条件进行匹配

(3)如果匹配成功,则保留左表数据;如果匹配失败,则遗留下的表数据

3.基本语法

4.表的设计易于产生具有相同名称(尤其是id)的字段。为了避免重复名称出错,通常使用表名称。字段名称,以确保该字段是唯一的

5.字段别名和表别名的使用:查询数据时,如果不同的表中有相同名称的字段,则需要添加表名来区分它们。表名通常较长,可以使用别名来简化编写

6.如果内部连接没有连接条件(打开后没有任何内容),系统将保留所有结果,即交叉连接(笛卡尔积),以避免

7.对于内部连接,不必强制使用匹配条件。因此,可以使用where条件限制数据匹配完成后的效果,效果与on相同。也就是说,您可以使用where代替on,但是使用where效率不高(where是首先匹配所有记录,然后判断条件是否满足。On只是根据索引查找与其匹配的匹配项,如果不匹配,则不再下去获取它。匹配时,仅获取第一个)-?建议使用on而不是

注意:where等于匹配以获取交叉连接结果,然后使用where条件过滤数据。这相当于之前做了一些无用的工作。

8.应用:内部连接通常用于对数据有精确要求的地方,必须确保两个表中的数据都可以匹配

四,外部连接

1.外部连接:外部联接(最常用的连接)。以一个表为主(主表),取出其中的所有记录,并根据情况连接到另一表。无论上述条件是否可以匹配,主表中的所有记录最终都将保留。可以匹配,正确保存;无法匹配,另一个表的字段设置为null

2.外部连接有两种类型(哪个表为主表)

(1)左联接:左外部联接(左联接)。以左表为主表

(2)右连接:右外部连接(右连接)。将正确的表作为主表

注意:左连接对应的主表在”左连接”的左侧,而右连接对应的主表在”右连接”的右侧

3.原理

(1)确定与主表的连接。左联接是左侧表,”左联接”是主表,右联接是右侧表,”右联接”是主表

(2)取得主表的每个记录以匹配另一个表(从属表)的每个记录

(3)如果满足匹配条件,请保留

(4)如果主表中的记录中没有一个与从属表中的记录匹配,则还应保留主表中的记录,并且从属表中的相应字段值为null null

4.基本语法

4.外部连接的功能

(1)将保存外部连接中主表的数据记录,并且连接后记录数将不少于主表(可能是内部连接)

注意:外部连接保证与主表相对应的记录数必须存在很多,绝对不能少于。内部连接必须匹配,只要数据不能在另一个表中匹配,它就可能无法达到数据量

(2)尽管左连接和右连接之间的主表存在差异,但是左连接和右连接的显示结果的格式相同,并且左表的数据(连接左侧表)位于左侧,右侧表的数据位于右侧(与数据相对应的位置不变)

(3)左连接和右连接可以相互转换:从左到右更改,同时交换两个表的位置

注意:

a)。从数据的角度来看,不需要区分左连接和右连接,但与左连接相对应的主表位于左侧,而与右连接相对应的主表位于右侧

b)。左连接和右连接可以互换,因此可以使用更多的左连接(在实际应用中,根据字段获取数据,而不考虑顺序)

5.应用程序:外部连接是一种非常常用的获取数据,获取对应的主表和其他相关数据的方法

五,自然联系

1.自然连接:自然连接。系统将字段名称用作匹配模式以自动匹配连接条件。自然连接自动使用与连接条件同名的字段。连接后,具有相同名称的字段将被合并(基本上没有自然连接)

注意:自然连接,因为许多具有相同名称的字段,所有具有相同名称的字段都用作连接条件。然后合并具有相同名称的所有字段

2.自然连接可以分为两种类型

(1)自然的内部连接(类似于内部连接)

(2)自然外部连接(类似于外部连接):分为自然左侧外部连接和自然右侧外部连接(类似于左侧外部连接和右侧外部连接)

3.基本语法

4.内部和外部连接都可以模拟自然连接。使用与连接条件同名的字段自动合并字段

注意:

(1)自然的内部连接<->内部连接

(2)自然的外部连接<->外部连接

一个)。自然的左外部连接<->左外部连接(左连接)

b)。自然右外连接<->右外部连接(右连接)

六,使用关键字

1,使用:用于替换连接查询中用于条件匹配的相应on关键字

2.原理

(1)连接到查询时,使用on代替使用位置

(2)使用的前提是,对应的两个表所连接的字段名称相同(类似于自然连接自动匹配)

(3)如果使用using关键字,则具有相同名称的相应字段将只在结果中保留一个,并将其放在前面

3.基本语法

4.使用(xxx)时,不仅自然连接可以产生左右连接的效果,而且使用(xxx)可以模拟自然连接。因此,通常不需要自然连接

5.以这种方式广泛使用(xxx)。因为在设计表时,我不确定两个表将使用与字段名相同的名称

七个多表连接

1,多表连接:A表内部联接B表处于条件左联接C表处于条件…;

2.执行顺序:将表A中的表B连接起来,得到一个二维表,然后将表C的左边连接起来,形成一个二维表…

相关推荐

咨询软件
 
QQ在线咨询
售前咨询热线
QQ1922638