{"id":1146,"date":"2012-12-01T10:00:07","date_gmt":"2012-12-01T15:00:07","guid":{"rendered":"http:\/\/sqlity.net\/en\/?p=1146"},"modified":"2015-01-02T12:31:16","modified_gmt":"2015-01-02T17:31:16","slug":"a-join-a-day-introduction","status":"publish","type":"post","link":"https:\/\/sqlity.net\/en\/1146\/a-join-a-day-introduction\/","title":{"rendered":"A Join A Day &#8211; Introduction"},"content":{"rendered":"<div>\n<h3>The Idea<\/h3>\n<p>\nMany of the questions I see when visiting SQL Server forums are related to JOINs. The questions range from simple \"How do I return a record from the Person table together with all its records in the Order table?\" to more complex ones like \"What is the difference between a semi-join and an anti-semi-join?\" or \"When is a Hash Join better than a Merge Join?\".\n<\/p>\n<p>\nEvery time I come across a question like this, I would like to be able to point the person to a good explanation of JOINs but I have not found a really good one yet.<br \/>\n&mdash;<br \/>\nSo I decided to write my own.\n<\/p>\n<div>\n<a href=\"http:\/\/sqlity.net\/wp-content\/uploads\/2012\/12\/A_Join_A_Day.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/sqlity.net\/wp-content\/uploads\/2012\/12\/A_Join_A_Day.png\" alt=\"A Join A Day\" title=\"A Join A Day\" width=\"960\" height=\"600\" class=\"aligncenter size-full wp-image-2808\" srcset=\"https:\/\/sqlity.net\/wp-content\/uploads\/2012\/12\/A_Join_A_Day.png 960w, https:\/\/sqlity.net\/wp-content\/uploads\/2012\/12\/A_Join_A_Day-300x188.png 300w, https:\/\/sqlity.net\/wp-content\/uploads\/2012\/12\/A_Join_A_Day-150x94.png 150w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><\/a>\n<\/div>\n<h3>The Format<\/h3>\n<p>\nThroughout the month of December I am going to write one article every day about a join related topic. But I am not going to stop there. I am going to enlist your help. How exactly I can't tell you just yet, but stay tuned. It will be revealed soon.\n<\/p>\n<p>\nMost examples will use tables in the AdventureWorks2008R2 database that is provided by Microsoft for free. You can get it here: <a href=\"https:\/\/msftdbprodsamples.codeplex.com\/releases\/view\/93587\">AdventureWorks Databases \u2013 2012, 2008R2 and 2008<\/a>\n<\/p>\n<h3>The Content<\/h3>\n<p>\nEach day I am going to update this list to include all the articles that are part of this series. So come back here daily to see what is new.\n<\/p>\n<div class=\"wp-cpl-sc-wrap wp-cpl-sc-theme-4\">\n        <div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1146\/a-join-a-day-introduction\/\" title=\"Permalink to: A Join A Day - Introduction\">A Join A Day &#8211; Introduction<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 1st, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>In December 2012 I am going to publish one post per day about SQL Server Joins. With topics ranging from fundamentals to internals there should be something interesting in there for everyone. <\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1146\/a-join-a-day-introduction\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1163\/a-join-a-day-the-inner-join\/\" title=\"Permalink to: A Join A Day \u2013 The Inner Join\">A Join A Day \u2013 The Inner Join<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 2nd, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>This post looks at the inner join T-SQL command. After reading you will be able to use it and explain how it handles data and how to identify it in an execution plan.<\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1163\/a-join-a-day-the-inner-join\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1175\/t-sql-tuesday-37-invite-to-join-me-in-a-month-of-joins\/\" title=\"Permalink to: T-SQL Tuesday #37 \u2013 Invite to Join me in a Month of Joins\">T-SQL Tuesday #37 \u2013 Invite to Join me in a Month of Joins<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 3rd, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>It is T-SQL Tuesday time again. For T-SQL Tuesday #37 I would like to ask you to join me in a month of joins.<\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1175\/t-sql-tuesday-37-invite-to-join-me-in-a-month-of-joins\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1183\/a-join-a-day-the-cross-join\/\" title=\"Permalink to: A Join A Day \u2013 The Cross Join\">A Join A Day \u2013 The Cross Join<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 4th, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>In this 4th post of the 'A Join A Day' series we are going to take a detailed look at the cross join statement. The cross join is probably the simplest of all join commands, but it still has its surprises. Read on, to find out more. <\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1183\/a-join-a-day-the-cross-join\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1227\/a-join-a-day-the-left-outer-join\/\" title=\"Permalink to: A Join A Day \u2013 The Left Outer Join\">A Join A Day \u2013 The Left Outer Join<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 5th, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>In this fifth post of my A Join A Day series we are going to examine the left outer join. Learn about the difference to an inner join, the importance of the ON clause and take a look at the left join operator used in execution plans.<\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1227\/a-join-a-day-the-left-outer-join\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1252\/a-join-a-day-the-right-outer-join\/\" title=\"Permalink to: A Join A Day \u2013 The Right Outer Join\">A Join A Day \u2013 The Right Outer Join<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 6th, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>On this sixth day of my A Join A Day series the topic is the right outer join. We are going to compare the right outer to the left outer join and we will see the SQL Server usually avoids them.<\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1252\/a-join-a-day-the-right-outer-join\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1265\/a-join-a-day-the-full-outer-join\/\" title=\"Permalink to: A Join A Day \u2013 The Full Outer Join\">A Join A Day \u2013 The Full Outer Join<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 7th, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>The full outer join combines the functionality of the left outer join and the right outer join. This post sheds light on this join type and reviles another surprise when we look at the execution plan for a full outer join query.<\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1265\/a-join-a-day-the-full-outer-join\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1270\/a-join-a-day-the-cross-apply\/\" title=\"Permalink to: A Join A Day \u2013 The Cross Apply\">A Join A Day \u2013 The Cross Apply<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 8th, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>The Cross Apply is the topic of this eighth day of the A Join A Day series. The Cross Apply is a unique T-SQL statement that allows us to join a table to a function. Read on for all the details...<\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1270\/a-join-a-day-the-cross-apply\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1275\/a-join-a-day-the-outer-apply\/\" title=\"Permalink to: A Join A Day \u2013 The Outer Apply\">A Join A Day \u2013 The Outer Apply<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 9th, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>This is day nine of the A Join A Day series  and we are going to look at the outer apply statement. We will discover the differences to the cross apply and the similarities to the left outer join. Read on to get all the details.<\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1275\/a-join-a-day-the-outer-apply\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1281\/a-join-a-day-a-self-join-experience\/\" title=\"Permalink to: A Join A Day \u2013 A Self-Join Experience\">A Join A Day \u2013 A Self-Join Experience<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 10th, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            A self-join is not something that is provided by a special join command. It's just a term for the pretty mundane idea of joining a table to itself. But rest assured - there is more behind it\u2026        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1281\/a-join-a-day-a-self-join-experience\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1316\/a-join-a-day-how-to-test-a-join\/\" title=\"Permalink to: A Join A Day \u2013 How to Test a Join\">A Join A Day \u2013 How to Test a Join<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 11th, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>This is an advanced article showing how to use the \"0-1-some\" heuristic to select the right test cases when unit testing a join query. The example will approach the task following Test Driven Design.<\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1316\/a-join-a-day-how-to-test-a-join\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1348\/a-join-a-day-the-left-semi-join\/\" title=\"Permalink to: A Join A Day \u2013 The Left Semi Join\">A Join A Day \u2013 The Left Semi Join<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 12th, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>The Left Semi Join is a half join: It only includes rows from the left side in the results. A typical example for a left semi join query is a statement containing the EXEISTS keyword. However, this does not always result in an execution plan with a Left Semi Join operator.<\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1348\/a-join-a-day-the-left-semi-join\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1354\/a-join-a-day-the-right-semi-join\/\" title=\"Permalink to: A Join A Day \u2013 The Right Semi Join\">A Join A Day \u2013 The Right Semi Join<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 13th, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>The right semi join works like the left semi join, it just switches the role of the two sides. A Right Semi Join returns only rows from the right side base on the existence of matching rows on the left.<\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1354\/a-join-a-day-the-right-semi-join\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1360\/a-join-a-day-the-left-anti-semi-join\/\" title=\"Permalink to: A Join A Day \u2013 The Left Anti Semi Join\">A Join A Day \u2013 The Left Anti Semi Join<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 14th, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>The Left Anti Semi Join is the polar opposite of the Left Semi Join. While it also only returns data from the left table, it returns only those rows that are not returned by the Left Semi Join. Read on to find out how to use it.<\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1360\/a-join-a-day-the-left-anti-semi-join\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1379\/a-join-a-day-right-anti-semi-join\/\" title=\"Permalink to: A Join A Day \u2013 Right Anti Semi Join\">A Join A Day \u2013 Right Anti Semi Join<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 15th, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>The Right Anti Semi Join, like the Right Semi Join, does not have a corresponding T-SQL statement. In the right circumstances however, the SQL Server optimizer will use the Right Anti Semi Join operator to build an efficient plan.<\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1379\/a-join-a-day-right-anti-semi-join\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1389\/a-join-a-day-intersect\/\" title=\"Permalink to: A Join A Day - Intersect\">A Join A Day &#8211; Intersect<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 16th, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>INTERSECT is a keyword that takes two query expressions and calculates the set theoretical intersection from the two row sets. Under the covers SQL Server often uses the Left Semi Join operator for INTERSECT queries. One peculiarity is, that duplicate rows will be removed from the final result.<\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1389\/a-join-a-day-intersect\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1401\/a-join-a-day-except\/\" title=\"Permalink to: A Join A Day - Except\">A Join A Day &#8211; Except<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 17th, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>The EXCEPT keyword can be used to calculate the set theoretical difference of two sets of rows. You can use EXCEPT every time you want to return rows from one table that are not in another table. Under the covers SQL Server uses a Left Anti Semi Join too fulfill an EXCEPT requests.<\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1401\/a-join-a-day-except\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1430\/a-join-a-day-equi-join-vs-nonequi-join\/\" title=\"Permalink to: A Join A Day \u2013 Equi-Join vs. Nonequi-Join\">A Join A Day \u2013 Equi-Join vs. Nonequi-Join<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 18th, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>A join that is using only equality comparisons is call \"Equi-Join\". A join on the other hand that has at least one inequality comparison in the join condition is called \"Nonequi-Join\". Find common use cases and limitations by reading on.<\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1430\/a-join-a-day-equi-join-vs-nonequi-join\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1435\/a-join-a-day-nested-joins\/\" title=\"Permalink to: A Join A Day \u2013 Nested Joins\">A Join A Day \u2013 Nested Joins<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 19th, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>When joining more than two tables together, one additional JOIN key word is needed for each new table. there are many ways to group the tables in a join query together effectively building nested joins. However, the order or even grouping of tables does not change the query. Indeed, the query optimizer often makes use of that and produces an execution plan in which the order of the tables does not match the order in which they are mentioned in the query.<\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1435\/a-join-a-day-nested-joins\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1443\/a-join-a-day-join-hints\/\" title=\"Permalink to: A Join A Day \u2013 Join Hints\">A Join A Day \u2013 Join Hints<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 20th, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>SQL Server cannot do an exhaustive search of all possible execution plans when compiling a query. On its quest to find the best plan, it sometimes misses the mark. See how join hints and query hints can help in a situation like that. But be aware, using join hints can backfire. Know the risks before you start using them.<\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1443\/a-join-a-day-join-hints\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1471\/a-join-a-day-the-nested-loops-join\/\" title=\"Permalink to: A Join A Day \u2013 The Nested Loops Join\">A Join A Day \u2013 The Nested Loops Join<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 21st, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>This article introduces the Nested Loops Join algorithm. It shows its strengths and weaknesses to help you identify query situations for which the Nested Loops Join operator in the execution plan is an appropriate choice.<\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1471\/a-join-a-day-the-nested-loops-join\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1480\/a-join-a-day-the-sort-merge-join\/\" title=\"Permalink to: A Join A Day \u2013 The Sort Merge Join\">A Join A Day \u2013 The Sort Merge Join<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 22nd, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>This article introduces the Sort Merge Join algorithm. It shows its strengths and weaknesses to help you identify query situations for which the Merge Join operator in the execution plan is an appropriate choice.<\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1480\/a-join-a-day-the-sort-merge-join\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1490\/a-join-a-day-the-hash-join\/\" title=\"Permalink to: A Join A Day \u2013 The Hash Join\">A Join A Day \u2013 The Hash Join<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 23rd, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>This article introduces the Hash Join algorithm The Hash Join algorithm and shows in which situations it is a good choice.  This algorithm is the most CPU and memory intensive one but if you are dealing with large tables it will often also be the fastest.<\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1490\/a-join-a-day-the-hash-join\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1496\/a-join-a-day-predicate-probe-residual\/\" title=\"Permalink to: A Join A Day \u2013 Predicate, Probe & Residual\">A Join A Day \u2013 Predicate, Probe &#038; Residual<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 24th, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>This article talks about predicates, probes and residuals, all of which are used in different places of different join queries. This knowledge can help you to identify why your join query is slow and where it is spending its time.<\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1496\/a-join-a-day-predicate-probe-residual\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1553\/a-join-a-day-the-life-join\/\" title=\"Permalink to: A Join A Day \u2013 The Life Join\">A Join A Day \u2013 The Life Join<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 25th, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>Today's post is all about the life join. This multi-purpose join can be used to expand your horizons and maybe even help to make the world a better place.<\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1553\/a-join-a-day-the-life-join\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1509\/a-join-a-day-loop-join-limitations\/\" title=\"Permalink to: A Join A Day \u2013 Loop Join Limitations\">A Join A Day \u2013 Loop Join Limitations<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 26th, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>Which logical join types can be handled by the Loop Join operator and which can't? Where does the optimizer have to jump through hoops to generate a query plan? This article gives answers to these questions.<\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1509\/a-join-a-day-loop-join-limitations\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1529\/a-join-a-day-merge-join-limitations\/\" title=\"Permalink to: A Join A Day \u2013 Merge Join Limitations\">A Join A Day \u2013 Merge Join Limitations<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 27th, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>The Merge Join algorithm is the fastest in many cases. But how do I know what is possible and more importantly when it is not a good choice at all to use the Merge Join operator in an execution plan?<\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1529\/a-join-a-day-merge-join-limitations\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1560\/a-join-a-day-hash-join-limitations\/\" title=\"Permalink to: A Join A Day \u2013 Hash Join Limitations\">A Join A Day \u2013 Hash Join Limitations<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 28th, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>Which logical join types can be conquered by the Hash Join algorithm? Are there any special cases I need to be aware of for which the Hash Join operator might not be the best fit? Read on to get the answers.<\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1560\/a-join-a-day-hash-join-limitations\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1595\/a-join-a-day-update-delete\/\" title=\"Permalink to: A Join A Day \u2013 UPDATE & DELETE\">A Join A Day \u2013 UPDATE &#038; DELETE<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 29th, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>Do you need to pull in data from several tables to update just one? This post shows how a join can be incorporated in an update or delete statement.<\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1595\/a-join-a-day-update-delete\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1602\/a-join-a-day-the-merge-statement\/\" title=\"Permalink to: A Join A Day \u2013 The Merge Statement\">A Join A Day \u2013 The Merge Statement<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 30th, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>SQL Server 2008 introduced a single statement insert-update-delete: MERGE. This article introduces this statement, explains how it works and shows that it is really a full outer join under the covers.<\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1602\/a-join-a-day-the-merge-statement\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<div class=\"wp-cpl-sc-post\">\n        <h2><a href=\"https:\/\/sqlity.net\/en\/1612\/a-join-a-day-new-year-new-join\/\" title=\"Permalink to: A Join A Day \u2013 New Year, New Join\">A Join A Day \u2013 New Year, New Join<\/a><\/h2>\n        <div class=\"wp-cpl-sc-meta\">\n        <p>\n                        <span class=\"wp-cpl-sc-date\">Posted on Dec 31st, 2012 <\/span>\n                                            <\/p>\n    <\/div>\n            <div class=\"wp-cpl-sc-entry\">\n        <p>\n            <p>While ANSI-92 joins have been around for over 20 years and the pre-ANSI-92 join syntax has been deprecated 4 SQL Server versions ago, it is still in use today. This article provides guidance on how to rewrite those old queries into the \"new\" outer form.<\/p>        <\/p>\n                <p class=\"wp-cpl-sc-readmore\">\n            <a href=\"https:\/\/sqlity.net\/en\/1612\/a-join-a-day-new-year-new-join\/\">read more...<\/a>\n        <\/p>\n            <\/div>\n        <div class=\"clear\"><\/div>\n<\/div>\n<\/div>\n\n<p>\nLeave your comments below to let me know your thoughts. If you have a particular question about JOINs post that too so I can include its answer here.\n<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>In December 2012 I am going to publish one post per day about SQL Server Joins. With topics ranging from fundamentals to internals there should be something interesting in there for everyone. <\/p>\n<p> <a href=\"https:\/\/sqlity.net\/en\/1146\/a-join-a-day-introduction\/\">[more&#8230;]<\/a><\/p>\n","protected":false},"author":3,"featured_media":2808,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[28,29,5,27],"tags":[],"class_list":["post-1146","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-a-join-a-day","category-fundamentals","category-general","category-series"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>A Join A Day - Introduction - sqlity.net<\/title>\n<meta name=\"description\" content=\"In December 2012 I am going to publish one post per day about SQL Server Joins. With topics ranging from fundamentals to internals there should be something interesting in there for everyone.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sqlity.net\/en\/1146\/a-join-a-day-introduction\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"A Join A Day - Introduction - sqlity.net\" \/>\n<meta property=\"og:description\" content=\"In December 2012 I am going to publish one post per day about SQL Server Joins. With topics ranging from fundamentals to internals there should be something interesting in there for everyone.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sqlity.net\/en\/1146\/a-join-a-day-introduction\/\" \/>\n<meta property=\"og:site_name\" content=\"sqlity.net\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/sqlity.net\" \/>\n<meta property=\"article:published_time\" content=\"2012-12-01T15:00:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2015-01-02T17:31:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/sqlity.net\/wp-content\/uploads\/2012\/12\/A_Join_A_Day.png\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Sebastian Meine\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@sqlity\" \/>\n<meta name=\"twitter:site\" content=\"@sqlity\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sebastian Meine\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/1146\\\/a-join-a-day-introduction\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/1146\\\/a-join-a-day-introduction\\\/\"},\"author\":{\"name\":\"Sebastian Meine\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/#\\\/schema\\\/person\\\/bcffd8c572bc2f1bd10fdba80135e53c\"},\"headline\":\"A Join A Day &#8211; Introduction\",\"datePublished\":\"2012-12-01T15:00:07+00:00\",\"dateModified\":\"2015-01-02T17:31:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/1146\\\/a-join-a-day-introduction\\\/\"},\"wordCount\":286,\"commentCount\":9,\"image\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/1146\\\/a-join-a-day-introduction\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/sqlity.net\\\/wp-content\\\/uploads\\\/2012\\\/12\\\/A_Join_A_Day.png\",\"articleSection\":[\"A Join A Day\",\"Fundamentals\",\"General\",\"Series\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/sqlity.net\\\/en\\\/1146\\\/a-join-a-day-introduction\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/1146\\\/a-join-a-day-introduction\\\/\",\"url\":\"https:\\\/\\\/sqlity.net\\\/en\\\/1146\\\/a-join-a-day-introduction\\\/\",\"name\":\"A Join A Day - Introduction - sqlity.net\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/1146\\\/a-join-a-day-introduction\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/1146\\\/a-join-a-day-introduction\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/sqlity.net\\\/wp-content\\\/uploads\\\/2012\\\/12\\\/A_Join_A_Day.png\",\"datePublished\":\"2012-12-01T15:00:07+00:00\",\"dateModified\":\"2015-01-02T17:31:16+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/#\\\/schema\\\/person\\\/bcffd8c572bc2f1bd10fdba80135e53c\"},\"description\":\"In December 2012 I am going to publish one post per day about SQL Server Joins. With topics ranging from fundamentals to internals there should be something interesting in there for everyone.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/1146\\\/a-join-a-day-introduction\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/sqlity.net\\\/en\\\/1146\\\/a-join-a-day-introduction\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/1146\\\/a-join-a-day-introduction\\\/#primaryimage\",\"url\":\"https:\\\/\\\/sqlity.net\\\/wp-content\\\/uploads\\\/2012\\\/12\\\/A_Join_A_Day.png\",\"contentUrl\":\"https:\\\/\\\/sqlity.net\\\/wp-content\\\/uploads\\\/2012\\\/12\\\/A_Join_A_Day.png\",\"width\":960,\"height\":600,\"caption\":\"A Join A Day\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/1146\\\/a-join-a-day-introduction\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/sqlity.net\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"A Join A Day &#8211; Introduction\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/sqlity.net\\\/en\\\/\",\"name\":\"sqlity.net\",\"description\":\"Quality for SQL\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/sqlity.net\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/sqlity.net\\\/en\\\/#\\\/schema\\\/person\\\/bcffd8c572bc2f1bd10fdba80135e53c\",\"name\":\"Sebastian Meine\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g\",\"caption\":\"Sebastian Meine\"},\"sameAs\":[\"http:\\\/\\\/sqlity.net\",\"https:\\\/\\\/x.com\\\/sqlity\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"A Join A Day - Introduction - sqlity.net","description":"In December 2012 I am going to publish one post per day about SQL Server Joins. With topics ranging from fundamentals to internals there should be something interesting in there for everyone.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/sqlity.net\/en\/1146\/a-join-a-day-introduction\/","og_locale":"en_US","og_type":"article","og_title":"A Join A Day - Introduction - sqlity.net","og_description":"In December 2012 I am going to publish one post per day about SQL Server Joins. With topics ranging from fundamentals to internals there should be something interesting in there for everyone.","og_url":"https:\/\/sqlity.net\/en\/1146\/a-join-a-day-introduction\/","og_site_name":"sqlity.net","article_publisher":"https:\/\/www.facebook.com\/sqlity.net","article_published_time":"2012-12-01T15:00:07+00:00","article_modified_time":"2015-01-02T17:31:16+00:00","og_image":[{"width":960,"height":600,"url":"https:\/\/sqlity.net\/wp-content\/uploads\/2012\/12\/A_Join_A_Day.png","type":"image\/png"}],"author":"Sebastian Meine","twitter_card":"summary_large_image","twitter_creator":"@sqlity","twitter_site":"@sqlity","twitter_misc":{"Written by":"Sebastian Meine","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/sqlity.net\/en\/1146\/a-join-a-day-introduction\/#article","isPartOf":{"@id":"https:\/\/sqlity.net\/en\/1146\/a-join-a-day-introduction\/"},"author":{"name":"Sebastian Meine","@id":"https:\/\/sqlity.net\/en\/#\/schema\/person\/bcffd8c572bc2f1bd10fdba80135e53c"},"headline":"A Join A Day &#8211; Introduction","datePublished":"2012-12-01T15:00:07+00:00","dateModified":"2015-01-02T17:31:16+00:00","mainEntityOfPage":{"@id":"https:\/\/sqlity.net\/en\/1146\/a-join-a-day-introduction\/"},"wordCount":286,"commentCount":9,"image":{"@id":"https:\/\/sqlity.net\/en\/1146\/a-join-a-day-introduction\/#primaryimage"},"thumbnailUrl":"https:\/\/sqlity.net\/wp-content\/uploads\/2012\/12\/A_Join_A_Day.png","articleSection":["A Join A Day","Fundamentals","General","Series"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/sqlity.net\/en\/1146\/a-join-a-day-introduction\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/sqlity.net\/en\/1146\/a-join-a-day-introduction\/","url":"https:\/\/sqlity.net\/en\/1146\/a-join-a-day-introduction\/","name":"A Join A Day - Introduction - sqlity.net","isPartOf":{"@id":"https:\/\/sqlity.net\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/sqlity.net\/en\/1146\/a-join-a-day-introduction\/#primaryimage"},"image":{"@id":"https:\/\/sqlity.net\/en\/1146\/a-join-a-day-introduction\/#primaryimage"},"thumbnailUrl":"https:\/\/sqlity.net\/wp-content\/uploads\/2012\/12\/A_Join_A_Day.png","datePublished":"2012-12-01T15:00:07+00:00","dateModified":"2015-01-02T17:31:16+00:00","author":{"@id":"https:\/\/sqlity.net\/en\/#\/schema\/person\/bcffd8c572bc2f1bd10fdba80135e53c"},"description":"In December 2012 I am going to publish one post per day about SQL Server Joins. With topics ranging from fundamentals to internals there should be something interesting in there for everyone.","breadcrumb":{"@id":"https:\/\/sqlity.net\/en\/1146\/a-join-a-day-introduction\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sqlity.net\/en\/1146\/a-join-a-day-introduction\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/sqlity.net\/en\/1146\/a-join-a-day-introduction\/#primaryimage","url":"https:\/\/sqlity.net\/wp-content\/uploads\/2012\/12\/A_Join_A_Day.png","contentUrl":"https:\/\/sqlity.net\/wp-content\/uploads\/2012\/12\/A_Join_A_Day.png","width":960,"height":600,"caption":"A Join A Day"},{"@type":"BreadcrumbList","@id":"https:\/\/sqlity.net\/en\/1146\/a-join-a-day-introduction\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/sqlity.net\/en\/"},{"@type":"ListItem","position":2,"name":"A Join A Day &#8211; Introduction"}]},{"@type":"WebSite","@id":"https:\/\/sqlity.net\/en\/#website","url":"https:\/\/sqlity.net\/en\/","name":"sqlity.net","description":"Quality for SQL","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sqlity.net\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/sqlity.net\/en\/#\/schema\/person\/bcffd8c572bc2f1bd10fdba80135e53c","name":"Sebastian Meine","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4ab0a6d02dd494849a584a2c3c8bc3bdcef1d0aa5f87e98bf905dbdb9ad2ce3a?s=96&d=mm&r=g","caption":"Sebastian Meine"},"sameAs":["http:\/\/sqlity.net","https:\/\/x.com\/sqlity"]}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/sqlity.net\/wp-content\/uploads\/2012\/12\/A_Join_A_Day.png","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2wXuw-iu","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/posts\/1146","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/comments?post=1146"}],"version-history":[{"count":0,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/posts\/1146\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/media\/2808"}],"wp:attachment":[{"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/media?parent=1146"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/categories?post=1146"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sqlity.net\/en\/wp-json\/wp\/v2\/tags?post=1146"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}