Forum Moderators: open
I ran across this in the Transact SQL help files and can't find much more information about it. The help file doesn't really shed much light on it. Nor does Microsoft's website. I found some whitepapers on how to implement it into an RDBMS and why it is good to use it, but I'm not creating a new RDBMS, so that doesn't help either.
I was about to just forget about it when I noticed the LEFT ANTI SEMI JOIN operator listed. So now I have to know a little more about it.
Can anyone explain this a little and is it something that is actually implemented in MS SQL Server?
From MS SQL Books Online:
Left Semi JoinThe Left Semi Join logical operator returns each row from the first (top) input when there is a matching row in the second (bottom) input. If no join predicate exists in the Argument column, each row is a matching row.
I am guessing that MS documents it for reference only, and that it is not implemented in SQL server. From other information I have read since my original post, the SEMI JOINs are useful when joining across different (distributed) databases. They work to minimize the amount of data that must be transported to the processing server in order to execute a join on a remote table.
Does not recognize semi as a join option. Here's my error msg:
Server: Msg 155, Level 15, State 1, Line 5
'Semi' is not a recognized join option.
Does your version recognize it?
Does your version recognize it?
john_k, I wonder if this is available to the system only. In little bit of research I've done I can only see LEFT SEMI JOIN available in the Execution Plans?