Code Formatting JOINs APPLY CTEs Geospatial
XML Source Code Control Miscellaneous
SQL – Logical Query Processing Steps
Use of SQL Wildcards and Pattern Matching
Normal Forms by Joe Celko at Redgate Hub (spoiler, there are TEN normal forms)
Implementation of Normalization in SQL Server by Sucharita Das at SQLServerCentral
The “Numbers” or “Tally” Table: What it is and how it replaces a loop by SQL master genius, Jeff Moden at SQLServerCentral
Tally OH! An Improved SQL 8K “CSV Splitter” Function also by SQL master genius, Jeff Moden
The SQL Server Numbers Table, Explained – Part 1 by Aaron Bertrand at MSSQLTips
The SQL Server Numbers Table, Explained – Part 2
Using a Table of Numbers by Erland Sommarskog
Performing a Right and Comprehensive Age Calculation, another Tally Table implementation by Sergiy Floka at SQLServerCentral
Code Formatting Resources
Suggested Object Naming Conventions | [not at all specific to T-SQL] |
Hungarian Notation – The Good, Bad and the Ugly | [not at all specific to T-SQL] A commentary on one notation method |
T-SQL Coding Standards by Brian Walker, MSDN | (only available as a .PDF that I created before the page became unavailable) |
Transact-SQL Formatting Standards (Coding Styles) By Robert Sheldon at Simple-Talk, and these… The Basics of Good T-SQL Coding Style The Basics of Good T-SQL Coding Style – Part 2: Defining Database Objects The Basics of Good T-SQL Coding Style – Part 3: Querying and Manipulating Data The Basics of Good T-SQL Coding Style – Part 4: Performance | |
An online code “beautifier” | From wangz.net |
See also my “Free Resources for SQL Server” resource as it lists free (and commercial) code formatting tools from vendors like Devart, Quest, and PoorSQL. | SQL Prompt is a commercial product from Redgate. |
SQL comment header examples | StackOverflow |
JOIN References
General JOIN topics | |
Bunch of Venn diagrams depicting JOINs SQL & the JOIN Operator From SQLServerCentral.com by Wagner Crivelini. SQL Server Join Examples by Jeremy Kadlec at MSSQLTips.com A Visual Explanation of JOINs From CodingHorror.com, by Jeff Atwood. Nice diagrams. Visual Representation of SQL Joins From CodeProject.com. JOINs are Easy by Wiebe Cazemier (a.k.a., “Halfgaar”) Steve Stedman’s JOIN poster v. 4.1 Hidden Pitfalls with INNER JOIN and NOT IN Operators by MMartin1 at SQLServerCentral Two references on using the BETWEEN Operator in JOIN conditions. Example 1 and Example 2 | |
Your Ultimate Guide to SQL Join: INNER JOIN – Part 1 by Edwin Sanchez at {coding} Sight Your Ultimate Guide to SQL Joins: OUTER JOIN – Part 2 | |
Join SQL Server tables where columns include NULL values by Greg Robidoux at MSSQLTips | |
Several contributions from Jim Evans at MSSQLTips | SQL JOIN Types with Examples (Quick Reference) Getting Started with SQL INNER JOIN Join 3 Tables in SQL |
Join SQL Server Tables Where Columns Include NULL Values by Greg Robidoux at MSSQLTips | |
Self JOINs | |
An Illustrated Guide to the SQL Self Join by Dorota Wdzięczna (excellent reference and multiple, excellent examples) How to Join to the Same Table Multiple Times for a SQL Server query by Dallas Snider at MSSQLTips.com The Self Join (Inner and Outer) by Pinal Dave at SQLAuthority.com Using Self-Joins (Microsoft TechNet article) Example of where a Self Join is Needed (see the last query in the article) | |
Outer JOINs | |
SQL LEFT JOIN Examples by John Miner at MSSQLTips Fun with Outer Joins by Kenneth Fisher at SQLServerCentral.com | |
JOIN v. Intersect | |
Intersect v. Inner Join by Pinal Dave at SQLAuthority.com | |
Cross Joins | |
The Power of the Cross Join by Jeff Smith Usefulness of Cross Joins specifically as it relates to data warehousing by Garrett Edmondson at SQLServerCentral.com |
APPLY Operator references
Boost Your T-SQL with the APPLY Operator, Microsoft Virtual Academy presentation on the use of the APPLY operator | by Itzik Ben-Gan and Umachandar Jayachandran Now on YouTube, since the MVA is no longer |
Boost your T-SQL with the APPLY Operator | SQLBits presentation by Itzik (yep, that Itzik) |
Using Cross Apply in SQL Server 2005 | A SQLTeam article by Bill Graziano |
SQL Server APPLY Basics | A Simple-Talk article by Robert Sheldon |
SQL Server CROSS APPLY and OUTER APPLY | by Arshad Ali at MSSQLTips |
Using Apply | An MSDN resource |
Taking a Look at CROSS APPLY | An October 18, 2007 SQLTeam blog post by Jeff Smith |
Using T-SQL CROSS APPLY and OUTER APPLY | A Developer.com article by Paul Kimmel |
When Should I Use CROSS APPLY over INNER JOIN? | From StackOverflow.com |
CROSS APPLY Explained | by Derek Dieter at SQL Server Planet |
SQL Cross Apply and Outer Apply: The Complete Guide | by Ben Brumm at DatabaseStar |
Common Table Expression (CTE) references
Common Table Expression (CTE) links: | |
Everything You Need to Know About SQL CTE in One Spot by Edwin Sanchez at {coding}Sight | |
SQL Server Common Table Expressions (CTE) by Syed Shanu at SQLShack | |
CTE in SQL Server Examples by Ryan Kennedy at MSSQLTips | |
Guide for CTE in SQL Server by Rajendra Gupta at {coding} Sight | |
Standard Deviations with CTE in SQL by Mike Davis, Interesting technique using two CTEs. | |
Simplify Large Queries with Temporary Tables, Table Variables and CTEs by Stan Kulp | |
Usage of CTE: Trick with Dates by Suresh Maganti | |
How I Write Queries Using PSQL: Common Table Expressions by Selena Deckelmann, Although the article is on CTEs in PostgreSQL it’s still useful. | |
CTEs instead of Derived Tables by Steve Stedman (A CTE Tutorial on Performance, Stored Procedures, Recursion, Nesting, and the use of Multiple CTEs) Here are a bunch more CTE links at Steve’s website. He even wrote and sells an ebook at Amazon UK, such as CTE Hierarchy compared to the alternative | |
Free 250pp. ebook on Common Table Expressions by Steve Stedman | |
Recursive Common Table Expression (CTE) links: | |
Recursive Queries using Common Table Expressions (CTE) in SQL Server by Edwin Sarmiento | |
Fundamentals of table expressions, Part 6 – Recursive CTEs by Itzik Ben-Gan at SQLPerformance.com | |
How Recursive Common Table Expresssions Work by “PracticalDBA” | |
Using a Recursive CTE to Generate a List by Svetlana Marinova | |
SQL Server Function to return a range of dates by Albert Hetzel, NULL date values are omitted from the result set. | |
Working With Multi-Select Parameters for SSRS Reports by Mickey Stuewe, This is really more of a Reporting Services reference but the query example used for the report data involves a recursive CTE. | |
See Aaron Bertrand’s great example on this page, used for creating a Date Dimension. |
Geospatial / Geometry / Geography references
Beginning Spatial with SQL Server 2008 | Apress, by Alastair Aitchison |
Pro Spatial with SQL Server 2012 | Apress, by Alastair Aitchison |
Create, Populate, and Transform Geographic Coordinates in SQL Server Tables | by Rick Dobson at MSSQLTips |
Bing Maps API documentation | |
Bing Maps Platform | |
SQLServerSpatialTools | Formerly a CodePlex project but now on GitHub |
Open Geospatial Consortium (OGC) | |
World Atlas, Longitute & Lattitude facts | |
SpatialReference.org | Find your references in any number of formats! |
MapCruzin website | “Your home for Community Mapping and Participatory GIS Software, Tools, Maps, Shapefiles, and Tutorials”. |
US Census | Cartographic Boundary Files |
XML (Extensible Markup Language) references
XML Tutorial | An excellent tutorial from W3Schools.com |
XPath Tutorial | A tutorial from W3Schools |
XQuery Tutorial | A tutorial from W3Schools |
Another XML Tutorial found at: XML-Training-Guide.com | And a ton of other resources. |
See also this free ebook, “The Art of XSD” | |
Scripts to use XML to insert and update rows in a SQL Server table | by Wayne Ackman at MSSQLTips |
SQL Server XML Bulk Loading Example | by Tim Cullen at MSSQLTips |
Commercial examples of Custom XML Markup Languages: National Digital Forecast Database (NDFD) Extensible Markup Language (XML) (and a web service) ISBNdb.com, Remote Data Access Introduction | |
Altova provides a bunch of XML and other development tools |
Source Code Control references
Database Source Control – The Cribsheet | from Redgate Hub |
Azure DevOps Server | Team Foundation Server is now called Azure DevOps Server, 2019-03-05 |
SourceGear Vault and DiffMerge | The Pro version integrates with Visual Studio See also Eric Sink’s free ebook, “Version Control by Example” |
Perforce HelixALM | |
Subversion VisualSVN // Subversion for Visual Studio | an Apache project |
Miscellaneous references
Simple T-SQL Proper Case User-Defined Function | Jeff Smith blog |
Columnstore blog by Niko Neugebauer | |
Wikipedia article on NULL | Recommended by student Julie Vanbuskirk. Good examples of several NULL issues. |
Simple Image Import and Export Using T-SQL for SQL Server | by Eli Leiba at MSSQLTips |
The Curse and Blessings of Dynamic SQL | by Erland Sommarskog |
SQL Server Service Broker Example on How to Configure, Send and Receive Messages | From MSSQLTips.com by Jayakumar Krishnan. |
Gaps in SQL Server Identity Columns | |
Excellent 404 page at CodeProject | |
The Connection Strings Reference | |
Dr. Dobbs – The World of Software Development | |
How to Call a SharePoint Web Service from a SQL Server CLR Function | From MSSQLTips.com by Ray Barley. |
Graph Database references |