sql server 中筛选条件在有关联表时放在where后面和放在on后面有什么区别?

如题所述

区别大了,on 是用在 表与表间(left join 、right join 、inner join 、full join)的连接条件 ,where是查询条件,两个是可以一起用的。

如:
select a.*,b.*
from
a left join b --a表 左连接 b表
on a.id=b.aid --连接条件
where a.name = "column" --查询条件
温馨提示:内容为网友见解,仅供参考
无其他回答

sql server 中筛选条件在有关联表时放在where后面和放在on后面有什么区...
区别大了,on 是用在 表与表间(left join 、right join 、inner join 、full join)的连接条件 ,where是查询条件,两个是可以一起用的。如:select a.*,b.from a left join b --a表 左连接 b表 on a.id=b.aid --连接条件 where a.name = "column" --查询条件 ...

面试官:说说WHERE,HAVING和ON的区别?
最后,WHERE仅支持内连接,而ON支持连接操作,这是它们功能上的主要区别。虽然Oracle的WHERE可以通过其他方式实现连接,但这里我们不讨论这些特例。如果你想知道更多SQL技巧和资源,可以关注我们的公众号"SQL数据库开发"。

SQL 面试题:WHERE 和 HAVING、ON 有什么区别?
WHERE与ON子句主要区别在于关联查询中指定连接条件。内连接时,WHERE与ON可替换,性能相同。ON用于明确连接条件,WHERE添加其他过滤,推荐这种组合。对于外连接,连接条件只能在ON中定义,WHERE无法表示外连接逻辑。例如,查询所有部门信息,WHERE用于过滤特定条件,员工表返回NULL。在MySQL中,执行计划分析可揭示...

sql server中的关键字in和on有什么区别?
IN指的是某字段的值在某个集合当中。也就是该字段的取值范围。如:Select * from name where name In ('a','s','d')ON主要实在表之间进行连接时指明连接条件的,有内连接,外连接等如:SELECT * FROM apps INNER JOIN altapp ON apps.app_name = altapp.source_name ...

sql server中的关键字in和on有什么区别
IN是在什么什么范围中。如:Select * from Appuser where UserID In (101,102,103,104)ON主要是用来做两个表的连接的。如:select distinct customers.customerid,customers.companyname from customers join orders on (customers.customerid=orders.customerid )where orders.shippeddate>2002-05-09 ...

sql中where的与jnner join on的连接条件.哪个优先级别高?
优先级是inner join on高,但是效果与where相同

sql语句的执行顺序怎么理解?
3. on:在关联表间设定条件,剔除非匹配行。4. where:对整合的大型数据集应用筛选条件,缩小查询范围。5. group by:将具有相同字段值的行组合起来,利用聚合函数如max或min等对其他字段进行处理。6. having:在应用group by后,进一步设置筛选条件,根据分组后的结果进行限制。7. select:在处理完行...

SQL中如何查找一个字段在另一张表中找不到的字段?
首先,在SQL中(以SQL Server为例),查询存在一个表而不在另一个表中的数据记录的方法有很多,介绍其中4种:1、方法一(仅适用单个字段):使用 not in ,比较容易理解,缺点是效率低 如:select A.ID from A where A.ID not in (select ID from B);2、方法二(适用多个字段匹配):使用 left...

在SQL-SERVER2000中对同一个数据库多张表进行查询时怎样避免笛卡儿乘积...
比如tableA和TableB向关联的是ID字段 如果用“,“分隔两个表的话语据应该如下 select count(*)from tableA ,TableB where TableA.id=TableB.id 如果把where 语句漏掉就出现笛卡尔积了 select count(*)from tableA ,TableB 同样,写成join的话,如果不指定on里的条件的话,语法是错的 select ...

SQLSERVER中两个表联合条件查询,子查询较多,烦请大神出手看看这条SQL该...
楼主好,这样写确实是耽误效率。根据楼主的要求,其实可以先全部关联,然后where筛选后在外围汇总。具体SQL如下:select a.id,a.uName,sum(case when b._type =1 and S = 2 then s1 else 0 end )as a, sum(case when b._type =1 and S = 2 then s2 else 0 end )as b,sum(case ...

相似回答