MySQL查询条件中on和where的区别是什么

26次阅读
没有评论

共计 848 个字符,预计需要花费 3 分钟才能阅读完成。

自动写代码机器人,免费开通

今天就跟大家聊聊有关 MySQL 查询条件中 on 和 where 的区别是什么,可能很多人都不太了解,为了让大家更加了解,丸趣 TV 小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

MySQL 语句执行顺序

首先先说明一个概念,MySQL 语句执行的顺序,并不是按照 SQL 语句的顺序。下面是示例 SQL

SELECT DISTINCT
   select_list  
   left_table     join_type  
JOIN   right_table   ON   join_condition  
WHERE
   where_condition  
GROUP BY
   group_by_list  
HAVING
   having_condition  
ORDER BY
   order_by_condition  
LIMIT   limit_number 

下面是 SQL 的执行顺序

FROM  left_table 
ON  join_condition 
 join_type  JOIN  right_table 
WHERE  where_condition 
GROUP BY  group_by_list 
HAVING  having_condition 
SELECT 
DISTINCT  select_list 
ORDER BY  order_by_condition 
LIMIT  limit_number

LEFT JOIN 的作用

结果集的不同,不仅与 SQL 的优先级有关,还和 LEFT JOIN 有关

使用 left join 时 on 后面的条件只对右表有效

on 是在生成临时表的时候使用的条件,不管 on 的条件是否起到作用,都会返回左表 (table_name1) 的行。

where 则是在生成临时表之后使用的条件,此时已经不管是否使用了 left join 了,只要条件不为真的行,全部过滤掉。

看完上述内容,你们对 MySQL 查询条件中 on 和 where 的区别是什么有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注丸趣 TV 行业资讯频道,感谢大家的支持。

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-04发表,共计848字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)