MySQL连接查询用于关联多表数据。
1、 核心概念
2、 将两个表的各行进行横向配对连接,生成所有可能的组合结果行。
3、 假设:
4、 表A为n1行m1列。
5、 表B含n2行m2列
6、 表A与表B连接后,将产生如下结果:
7、 共n1乘n2行
8、 两列相加
9、 连接后结果如下所示:
10、 连接查询的基本语法结构
11、 从表1通过指定连接方式与表2基于连接条件进行关联查询操作。
12、 交叉联接
13、 两个表根据连接条件进行关联后,所得结果包含所有未加筛选的组合数据,即不应用任何限制条件时的完整集合。
14、 交叉连接指无条件的全连接,即两表所有行相互组合,又称笛卡尔积。
15、 交叉连接实际应用较少,因其生成的结果可能导致每行数据失去原有意义。
16、 形式:
17、 表1与表2进行交叉连接操作。
18、 或:
19、 从表1和表2中提取数据。
20、 内连接
21、 形式:
22、 从表1与表2进行内连接,条件为表1的字段1等于表2的字段2。
23、 含义:
24、 在交叉连接结果中,筛选出符合指定连接条件的行数据。
25、 交叉连接常产生冗余信息,例如:
26、 查看内连接结果:
27、 结果如下:
28、 可见:
29、 内连接是从交叉连接的结果中筛选出符合关联条件的有效数据行。
30、 交叉连接中的数据部分有效,部分为无效或错误信息。
31、 但需留意
32、 这种连接条件需依据表间实际关联设定,通常指两个表中存在主外键关系的字段值必须相等,不可随意指定。
33、 连接查询与先前学习的外键关系在逻辑上具有一致性,二者紧密关联,体现了数据表间的内在联系。
34、 进行内连接操作时,并不要求两个表必须存在外键约束。只要在实际业务中认为它们具有数据关联关系,即可在查询时通过内连接来建立这种联系,实现数据的匹配与整合。
评论
更多评论