|
database
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Left (or Right) Anti Semi JOINHow do I get one?
From: http://msdn.microsoft.com/library/?url=/library/en-us/tsqlref/ts_tsqlcon_6lyk.asp?frame=true -- Arnie Rowland, Ph.D. Westwood Consulting, Inc Most good judgment comes from experience. Most experience comes from bad judgment. - Anonymous Hi Arnie
I'm not sure what your link has to do with your question. The 'left anti semi join" is a logical operation that refers to the way your tables in a query are related. You don't request it specifically with syntax. A semi join happens when you join two tables but you only want data from one of them, i.e. when the 2nd table is used as a lookup table, as in this example from pubs which answers the question "Which publishers have published books: USE pubs SELECT pub_name FROM publishers WHERE pub_id IN (SELECT pub_id from titles) I am only looking for output from the publishers table, but the titles table is used to figure out which rows from publishers I want. The query plan will indicate a semi-join. Now, suppose I want to see only the publishers that have not published books: SELECT pub_name FROM publishers WHERE pub_id NOT IN (SELECT pub_id from titles) Now the query plan with show me an anti semi-join. -- Show quoteHide quoteHTH Kalen Delaney, SQL Server MVP "Arnie Rowland" <ar***@1568.com> wrote in message news:u4ECsa3tGHA.1504@TK2MSFTNGP03.phx.gbl... > How do I get one? > > From: > http://msdn.microsoft.com/library/?url=/library/en-us/tsqlref/ts_tsqlcon_6lyk.asp?frame=true > > > -- > Arnie Rowland, Ph.D. > Westwood Consulting, Inc > > Most good judgment comes from experience. > Most experience comes from bad judgment. > - Anonymous > > > Thanks Kalen. My question was 'tongue in cheek'. I should have made that
more clear. I recently encountered a class participant who asked why we couldn't specify the more esoteric types of joins shown in the execution plan. -- Show quoteHide quoteArnie Rowland, Ph.D. Westwood Consulting, Inc Most good judgment comes from experience. Most experience comes from bad judgment. - Anonymous "Kalen Delaney" <replies@public_newsgroups.com> wrote in message news:OUMMGz4tGHA.4752@TK2MSFTNGP02.phx.gbl... > Hi Arnie > > I'm not sure what your link has to do with your question. > > The 'left anti semi join" is a logical operation that refers to the way > your tables in a query are related. You don't request it specifically with > syntax. > > A semi join happens when you join two tables but you only want data from > one of them, i.e. when the 2nd table is used as a lookup table, as in this > example from pubs which answers the question "Which publishers have > published books: > > USE pubs > SELECT pub_name > FROM publishers > WHERE pub_id IN > (SELECT pub_id from titles) > > I am only looking for output from the publishers table, but the titles > table is used to figure out which rows from publishers I want. The query > plan will indicate a semi-join. > > Now, suppose I want to see only the publishers that have not published > books: > > SELECT pub_name > FROM publishers > WHERE pub_id NOT IN > (SELECT pub_id from titles) > > Now the query plan with show me an anti semi-join. > -- > HTH > Kalen Delaney, SQL Server MVP > > > "Arnie Rowland" <ar***@1568.com> wrote in message > news:u4ECsa3tGHA.1504@TK2MSFTNGP03.phx.gbl... >> How do I get one? >> >> From: >> http://msdn.microsoft.com/library/?url=/library/en-us/tsqlref/ts_tsqlcon_6lyk.asp?frame=true >> >> >> -- >> Arnie Rowland, Ph.D. >> Westwood Consulting, Inc >> >> Most good judgment comes from experience. >> Most experience comes from bad judgment. >> - Anonymous >> >> >> > > So I'm confused. Why did you ask this question?
-- Show quoteHide quoteHTH Kalen Delaney, SQL Server MVP "Arnie Rowland" <ar***@1568.com> wrote in message news:u4WOfV5tGHA.2448@TK2MSFTNGP06.phx.gbl... > Thanks Kalen. My question was 'tongue in cheek'. I should have made that > more clear. I recently encountered a class participant who asked why we > couldn't specify the more esoteric types of joins shown in the execution > plan. > > -- > Arnie Rowland, Ph.D. > Westwood Consulting, Inc > > Most good judgment comes from experience. > Most experience comes from bad judgment. > - Anonymous > > > "Kalen Delaney" <replies@public_newsgroups.com> wrote in message > news:OUMMGz4tGHA.4752@TK2MSFTNGP02.phx.gbl... >> Hi Arnie >> >> I'm not sure what your link has to do with your question. >> >> The 'left anti semi join" is a logical operation that refers to the way >> your tables in a query are related. You don't request it specifically >> with syntax. >> >> A semi join happens when you join two tables but you only want data from >> one of them, i.e. when the 2nd table is used as a lookup table, as in >> this example from pubs which answers the question "Which publishers have >> published books: >> >> USE pubs >> SELECT pub_name >> FROM publishers >> WHERE pub_id IN >> (SELECT pub_id from titles) >> >> I am only looking for output from the publishers table, but the titles >> table is used to figure out which rows from publishers I want. The query >> plan will indicate a semi-join. >> >> Now, suppose I want to see only the publishers that have not published >> books: >> >> SELECT pub_name >> FROM publishers >> WHERE pub_id NOT IN >> (SELECT pub_id from titles) >> >> Now the query plan with show me an anti semi-join. >> -- >> HTH >> Kalen Delaney, SQL Server MVP >> >> >> "Arnie Rowland" <ar***@1568.com> wrote in message >> news:u4ECsa3tGHA.1504@TK2MSFTNGP03.phx.gbl... >>> How do I get one? >>> >>> From: >>> http://msdn.microsoft.com/library/?url=/library/en-us/tsqlref/ts_tsqlcon_6lyk.asp?frame=true >>> >>> >>> -- >>> Arnie Rowland, Ph.D. >>> Westwood Consulting, Inc >>> >>> Most good judgment comes from experience. >>> Most experience comes from bad judgment. >>> - Anonymous >>> >>> >>> >> >> > > "Arnie Rowland" <ar***@1568.com> wrote in message Semijoinnews:u4WOfV5tGHA.2448@TK2MSFTNGP06.phx.gbl... > Thanks Kalen. My question was 'tongue in cheek'. I should have made that > more clear. I recently encountered a class participant who asked why we > couldn't specify the more esoteric types of joins shown in the execution > plan. http://www.alphora.com/docs/D4LGTableExpressions-Having.html Semiminus http://www.alphora.com/docs/D4LGTableExpressions-Without.html So the next time your asked this perfectly valid question you can give proper directions and not make excuses:)
Timeout - max pool size reached
CLR and Insert Performance problem with SQL Server 2005 How to do a restore a .BAK database - SQL 2005 SMO Login and User Creation Fails SQL2005 Concatenate with UPDATE? problem using date in UNION query Fastest way to translate data for normalization in MS SQL How to caught unknown exceptions when parsing the XML in stored procedures Update with Where Exists problem |
|||||||||||||||||||||||