SQL语句中on和where的用法区别讲解


本文摘自PHP中文网,作者巴扎黑,侵删。

这篇博客参考了网上的,具体哪一篇是原稿,不知道,特此声明。

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

相关mysql视频教程推荐:《mysql教程》

下面以使用left jion时,on和where条件的区别如下:

1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。

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

假设有两张表:

表1:tab2

id

size

1

10

2

20

3

30

表2:tab2

size

name

10

AAA

20

BBB

20

CCC


两条SQL:

阅读剩余部分

相关阅读 >>

mysql中普通、慢查询日志的区别

mysql中普通索引和唯一索引的区别详解

mysql的where查询的重新认识

sql命令中where短语的功能是什么?

sql语句中where 1=1是什么意思

sql语句中on和where的用法区别讲解

mysql两种引擎的有什么区别

#和$的区别

sql中“where 1=1”有什么用?

关于mysql max 与 where 间的执行问题小结

更多相关阅读请进入《where》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...