连接查询

连接查询

连接查询: 将多张表(可以大于2张)进行记录的连接(按照某个指定的条件进行数据拼接): 最终结果是: 记录数有可能变化, 字段数一定会增加(至少两张表的合并)

连接查询的意义: 在用户查看数据的时候,需要显示的数据来自多张表.

连接查询: join, 使用方式: 左表 join 右表
左表: 在join关键字左边的表
右表: 在join关键字右边的表

内连接

内连接: [inner] join, 从左表中取出每一条记录,去右表中与所有的记录进行匹配: 匹配必须是某个条件在左表中与右表中相同最终才会保留结果,否则不保留.

基本语法

左表 [inner] join 右表 on 左表.字段 = 右表.字段; on表示连接条件: 条件字段就是代表相同的业务含义(如my_student.c_id和my_class.id)

内连接可以没有连接条件: 没有on之后的内容,这个时候系统会保留所有结果(笛卡尔积)

内连接还可以使用where代替on关键字(where没有on效率高)

因为where 是将笛卡尔积查出来后过滤 on则是拿着左表的条件去匹配右表 匹配上了才选出来

外连接

外连接: outer join, 以某张表为主,取出里面的所有记录, 然后每条与另外一张表进行连接: 不管能不能匹配上条件,最终都会保留: 能比配,正确保留; 不能匹配,其他表的字段都置空NULL.

外连接分为两种: 是以某张表为主: 有主表
- Left join: 左外连接(左连接), 以左表为主表
- Right join: 右外连接(右连接), 以右表为主表

基本语法: 左表 left/right join 右表 on 左表.字段 = 右表.字段;

虽然左连接和右连接有主表差异, 但是显示的结果: 左表的数据在左边,右表数据在右边.

左连接和右连接可以互转.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL连接查询是指通过在两个或多个之间建立关联关系,从而获取相关数据查询操作。连接查询可以根据关联条件将多个中的数据进行匹配,返回满足条件的结果集。连接查询可以分为内连接、外连接和交叉连接等不同类型。 内连接是最常用的连接查询类型,它通过匹配两个中的关联列,返回两个中满足条件的交集数据。内连接可以使用关键字INNER JOIN来实现,也可以使用逗号(,)来示两个之间的连接关系。在内连接中,只有在两个中都存在匹配的数据时,才会返回结果。 外连接是指返回两个中满足条件的所有数据,即使在另一个中没有匹配的数据。外连接可以分为左外连接和右外连接两种类型。左外连接返回左中的所有数据以及与右匹配的数据,右外连接返回右中的所有数据以及与左匹配的数据。外连接可以使用关键字LEFT JOIN和RIGHT JOIN来实现。 交叉连接是指返回两个中的所有可能组合,它没有任何条件限制。交叉连接可以使用关键字CROSS JOIN来实现。 在连接查询中,需要注意的是关联条件的选择和使用。关联条件应该能够准确地匹配两个中的数据,并且应该避免出现笛卡尔积的情况,即返回的结果集过大。此外,还可以使用WHERE子句对连接查询的结果进行进一步的筛选和过滤。 总之,连接查询是一种强大的查询工具,可以帮助我们从多个中获取相关的数据。根据具体的需求和条件,可以选择不同类型的连接查询来实现所需的结果。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [Mysql连接查询详解](https://blog.csdn.net/w1014074794/article/details/124345234)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Mysql:连接查询](https://blog.csdn.net/qq_39314932/article/details/110006151)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值