|
Archives of the TeradataForumMessage Posted: Thu, 17 Feb 2005 @ 07:56:31 GMT
Glenn McCall wrote:
Of course you're right, that's why i sent a second mail correcting that error... No matter, if you use "(a,b) in (a,b)" or "(b,a) in (b,a)", the result always *must* be the same. It's like "t1 join t2 on t1.a = t2.a and t1.b = t2.b" select * from test1 where (a,b) not in (select b,a from test2); *** Query completed. No rows found. *** Total elapsed time was 1 second.
select * from test1 where (b,a) not in (select b,a from test2);
I was surprised, too ;-) I especially like that nice explanation: "if a null is in a field other than the first field of expression_list_2 then some rows may be returned" (SQL Ref. Functions and Operators, Chapter 10: Logical Predicates, IN/NOT IN, Behavior of Nulls for NOT IN) Dieter
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Copyright 2016 - All Rights Reserved | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Last Modified: 15 Jun 2023 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||