假设我们有两个表 - 客户和交易
Customer Transaction T
----------- ----------------
Cust_Id Cust ID
Cust name Items
Cust Address Date
Flag
如果我加入这些表格, -
select * from Customer C
inner join Transaction T
on C.Cust_id=T.Cust_id
Where C.Flag= 'Y'
OR
select * from Customer C
inner join Transaction T
on C.Cust_id=T.Cust_id
AND C.Flag='Y'
请有人告诉我两个查询的功能差异(请参阅两个查询的最后一行)
答案 0 :(得分:2)
答案 1 :(得分:0)
两个条件都相同但我认为第一个查询比第二个
更快答案 2 :(得分:0)
ON子句也像WHERE子句一样过滤,区别在于没有JOIN子句就不能存在ON过滤器。
对于INNER JOIN子句,它们被视为相同,但在LEFT或RIGHT连接的情况下,ON过滤器起着重要作用。
实际上,你不能按其他表中不存在的列过滤LEFT(RIGHT)JOIN的结果,标准做法是将那些列i置于过滤器上。