Call now: (800) 766-1884  


 SQL Server Tips
 SQL Server Training

 SQL Server Consulting
 SQL Server Support
 SQL Server Remote DBA

 SQL Server Scripts
 Scripts Menu




  SQL Server Tips by Gama and Naughter


Self join


This is a particular case when one table joins to itself, with one or two aliases to avoid confusion. A self join can be of any type, as long as the joined tables are the same.


Example: get the names of the authors who live in the same city, only if two or more live in that city, plus the names of the cities.


SELECT DISTINCT TOP 100 PERCENT dbo.authors.au_lname, dbo.authors.au_fname,

FROM  dbo.authors INNER JOIN

               dbo.authors authors_1 ON = AND

               dbo.authors.au_fname + ' ' + dbo.authors.au_lname <> authors_1.au_fname +' ' +  authors_1.au_lname

ORDER BY, dbo.authors.au_lname


The INNER JOIN will filter by the authors who live in the same city and have different names. Concatenating the first and last names simplifies the logic for comparing the names for readability but this technique does not necessarily improve performance.

The above book excerpt is from:

Super SQL Server Systems
Turbocharge Database Performance with C++ External Procedures

ISBN: 0-9761573-2-2
Joseph Gama, P. J. Naughter


Burleson Consulting Remote DB Administration







Burleson is the America's Team

Note: The pages on this site were created as a support and training reference for use by our staff of DBA consultants.  If you find it confusing, please exit this page.

Errata?  SQL Server technology is changing and we strive to update our SQL Server support information.  If you find an error or have a suggestion for improving our content, we would appreciate your feedback.  Just  e-mail:and include the URL for the page.

Burleson Consulting
SQL Server database support


Copyright 1996 -  2013 by Vaaltech Web Services. All rights reserved.

Hit Counter