业界动态
SQL join(连接)- 左连接、右连接、内连接 &慢查询(Join、explain)
2024-11-17 12:59

下图展示了 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的 7 种用法。

SQL join(连接)- 左连接、右连接、内连接 &慢查询(Join、explain)

SQL join(连接)- 左连接、右连接、内连接 &慢查询(Join、explain)

  • INNER JOIN:内连接,又叫等值连接,只返回两个表中连接字段相等的行。
  • LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行,右边为空字段补null
  • RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行,左边为空字段补null
  • FULL JOIN:外连接,返回两个表中的行:left join + right join。
  • CROSS JOIN : 结果是笛卡尔积,就是第一个表的行数乘以第二个表的行数。

FULL OUTER JOIN 用法

 

得到的结果数 inner join <= min(left join, right join) full join >= max(left join, right join) 当 inner join < min(left join, right join) 时, full join > max(left join, right join)

首先,连接的结果可以在逻辑上看作是由SELECT语句指定的列组成的新表

左连接与右连接的左右指的是以两张表中的哪一张为基准,它们都是外连接

外连接就好像是为非基准表添加了一行全为空值的万能行,用来与基准表中找不到匹配的行进行匹配。假设两个没有空值的表进行左连接,左表是基准表,左表的所有行都出现在结果中,右表则可能因为无法与基准表匹配而出现是空值的字段。

数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。

  1. on 条件是在生成临时表时使用的条件,它不管 on 中的条件是否为真,都会返回左边表中的记录。
  2. where 条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有 left join 的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。

举例说明 A表(a1,b1,c1) B表(a2,b2) SQL join(连接)- 左连接、右连接、内连接 &慢查询(Join、explain) SQL join(连接)- 左连接、右连接、内连接 &慢查询(Join、explain)

 

结果SQL join(连接)- 左连接、右连接、内连接 &慢查询(Join、explain)

 

结果SQL join(连接)- 左连接、右连接、内连接 &慢查询(Join、explain)

从多个表中返回满足 JOIN 条件的所有行。

 
 
 

结果SQL join(连接)- 左连接、右连接、内连接 &慢查询(Join、explain)

合并两个或多个SQL语句的结果集(重复或不重复SQL join(连接)- 左连接、右连接、内连接 &慢查询(Join、explain)

请注意,UNIOn 内部的每个 SELECT 语句必须拥有相同数量的列列也必须拥有相似的数据类型。同时每个 SELECT 语句中的列的顺序必须相同

SQL union用法

 

默认地UNIOn 操作符选取不同的值。如果允许重复的值,请使用 UNIOn ALL。

SQL union all用法

 

UNIOn 结果集中的列名总是等于 UNIOn 中第一个 SELECT 语句中的列名。

使用UNIOn命令时需要注意只能在最后使用一个ORDER BY命令,是将两个查询结果合在一起之后,再进行排序!绝对不能写两个ORDER BY命令。

另外,在使用ORDER BY排序时,注意两个结果的别名保持一致,使用别名排序很方便。当然也可以使用列数。

ORDER BY 除了可以对指定的字段进行排序,还可以使用函数进行排序:

 

ORDER BY 只能当前 SQL 查询结果进行排序,如要对 union all 出来的结果进行排序,需要先做集合。

 
 

可以模拟优化器执行SQL查询语句,从而指导MySQL是如何处理你的SQL语句的。可用来分析查询语句或表结构的性能瓶颈。可以查看

  1. 表的读取顺序
  2. 数据读取操作的操作类型
  3. 哪些索引可以使用
  4. 哪些索引被实际使用
  5. 表之间的引用
  6. 每张表有多少行被优化器查询
    以上就是本篇文章【SQL join(连接)- 左连接、右连接、内连接 &慢查询(Join、explain)】的全部内容了,欢迎阅览 ! 文章地址:https://sicmodule.kub2b.com/news/577.html
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站 https://sicmodule.kub2b.com/mobile/ , 查看更多   
最新文章
京东大药房自营商家入驻条件,京东代办入驻自营多少钱?
京东大药房作为一个电商平台,其自营商家入驻条件备受关注。在这篇文章中,我们将从多个方面探讨京东自营入驻条件,并介绍其入驻
2025年投放腾讯微信广告,收费标准是怎样的?
在数字化营销的浪潮中,腾讯微信广告凭借庞大的用户基础和强大的传播能力,成为众多企业推广的重要选择。对于有意投放腾讯微信广
直播带货工具的用户画像如何构建?
在数字化营销的浪潮中,直播带货已成为品牌与消费者之间最直接的桥梁。然而,如何精准地构建直播带货工具的用户画像,成为了每个
小红书“难民经济”真的是泼天的富贵吗?
  这几天小红书上大家都在忙着和美国用户交流,大家都说小红书这一次是泼天的富贵。但从作者的角度,事实却并不是如此。这篇文
小红书广告:广告内容创新
在小红书聚光广告平台上,精心策划与创意设计广告内容,是撬动用户注意力、深化品牌影响力并促进营销转化的核心策略。以下是对这
短期机会解决不了长期问题 2025唯有战略商品能跨越周期
“‘活下去’,肯定是今年最大的主题”,OIB总经理吴志刚对2024年给出了关键词。 2024年,是餐饮行业的冬天,仅半年时间上百万家
小红书聚光投放技巧/小红书广告开户+代运营一站式服务
一:避免内容营销误区在小红书上,许多商家误以为内容创作是成功的唯一途径。实际情况是,并非所有企业都具备内容创作的能力。对
【首发】站长快讯:解锁社交媒体营销策略与实践指南
  在当今数字化时代,社交媒体已经成为企业推广产品和服务的必备渠道。如何制定一份有效的社交媒体营销策略,成为了越来越多企
AI绘图:小白的第一本Stable Diffusion入门手册
AI有多重要? ** ** 现阶段,AIGC(人工智能生成内容)领域主要有两大热门趋势,一是以ChatGPT为
小红书2024搜索趋势:生活热词如何塑造商业新机遇?
在信息技术飞速发展的今天,社交电商正迎来前所未有的变革。近日,小红书平台发布的2024年度搜索趋势报告为我们提供了一扇观察这