网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

SQL中的on条件与where条件有什么区别

本篇内容主要讲解“SQL中的on条件与where条件有什么区别”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SQL中的on条件与where条件有什么区别”吧!

十载的绥化网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整绥化建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“绥化网站设计”,“绥化网站推广”以来,每个客户项目都认真落实执行。

在使用leftjoin时,on和where条件的区别如下:

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

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

假设有两张表:

表1:tab1

idsize

110

220

330

表2:tab2

sizename

10AAA

20BBB

20CCC

两条SQL:

1、select*fromtab1leftjointab2ontab1.size=tab2.sizewheretab2.name='AAA'

2、select*fromtab1leftjointab2ontab1.size=tab2.sizeandtab2.name='AAA'

第一条SQL的过程:

1、中间表

on条件:

tab1.size=tab2.size

tab1.idtab1.sizetab2.sizetab2.name

11010AAA

22020BBB

22020CCC

330(null)(null)

2、再对中间表过滤

where条件:

tab2.name='AAA'

tab1.idtab1.sizetab2.sizetab2.name

11010AAA

第二条SQL的过程:

1、中间表

on条件:

tab1.size=tab2.sizeandtab2.name='AAA'

(条件不为真也会返回左表中的记录)tab1.idtab1.sizetab2.sizetab2.name

11010AAA

220(null)(null)

330(null)(null)

其实以上结果的关键原因就是leftjoin,rightjoin,fulljoin的特殊性。

不管on上的条件是否为真都会返回left或right表中的记录,full则具有left和right的特性的并集。

而innerjion没这个特殊性,则条件放在on中和where中,返回的结果集是相同的。

到此,相信大家对“SQL中的on条件与where条件有什么区别”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


文章名称:SQL中的on条件与where条件有什么区别
本文链接:http://bjjierui.cn/article/jgsjpp.html

其他资讯