<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Comments on: Filtering results without losing the OUTER JOIN	</title>
	<atom:link href="https://lobsterpot.com.au/blog/2008/08/07/filtering-results-without-losing-the-outer-join/feed/" rel="self" type="application/rss+xml" />
	<link>https://lobsterpot.com.au/blog/2008/08/07/filtering-results-without-losing-the-outer-join/</link>
	<description></description>
	<lastBuildDate>Tue, 03 Nov 2009 10:34:45 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>
	<item>
		<title>
		By: Viscount Morty McHavesham the 3rd of Wolcott Manor on Leeds		</title>
		<link>https://lobsterpot.com.au/blog/2008/08/07/filtering-results-without-losing-the-outer-join/#comment-613</link>

		<dc:creator><![CDATA[Viscount Morty McHavesham the 3rd of Wolcott Manor on Leeds]]></dc:creator>
		<pubDate>Tue, 03 Nov 2009 10:34:45 +0000</pubDate>
		<guid isPermaLink="false">/blogs/robfarley/archive/2008/08/07/filtering-results-without-losing-the-outer-join.aspx#comment-613</guid>

					<description><![CDATA[A helpful way to think of it in pretty much any similar situation is to try and work through the query in a logical order. Assuming the price condition is listed in the where clause... 

Step 1) Rows are returned by the equality condition in the join. If the two keys match there will be data for all fields, if not then the &quot;Product&quot; data will be null. 

Step 2) For all rows with null product data, the comparison of &quot;is null &gt; $1000&quot; will evaluate to null.

Step 3) All of these rows (along with any rows that have products &lt; $1K) will be eliminated from the final result set because it can&#039;t be established that null is greater than $1K.]]></description>
			<content:encoded><![CDATA[<p>A helpful way to think of it in pretty much any similar situation is to try and work through the query in a logical order. Assuming the price condition is listed in the where clause&#8230; </p>
<p>Step 1) Rows are returned by the equality condition in the join. If the two keys match there will be data for all fields, if not then the &#8220;Product&#8221; data will be null. </p>
<p>Step 2) For all rows with null product data, the comparison of &#8220;is null > $1000&#8221; will evaluate to null.</p>
<p>Step 3) All of these rows (along with any rows that have products < $1K) will be eliminated from the final result set because it can't be established that null is greater than $1K.
</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: robfarley		</title>
		<link>https://lobsterpot.com.au/blog/2008/08/07/filtering-results-without-losing-the-outer-join/#comment-612</link>

		<dc:creator><![CDATA[robfarley]]></dc:creator>
		<pubDate>Wed, 13 Aug 2008 02:38:49 +0000</pubDate>
		<guid isPermaLink="false">/blogs/robfarley/archive/2008/08/07/filtering-results-without-losing-the-outer-join.aspx#comment-612</guid>

					<description><![CDATA[From a performance perspective, the system should be able to filter in the most appropriate place regardless. This method is about making sure that the correct results are achieved.

Rob]]></description>
			<content:encoded><![CDATA[<p>From a performance perspective, the system should be able to filter in the most appropriate place regardless. This method is about making sure that the correct results are achieved.</p>
<p>Rob</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: adegraaf		</title>
		<link>https://lobsterpot.com.au/blog/2008/08/07/filtering-results-without-losing-the-outer-join/#comment-611</link>

		<dc:creator><![CDATA[adegraaf]]></dc:creator>
		<pubDate>Tue, 12 Aug 2008 19:54:36 +0000</pubDate>
		<guid isPermaLink="false">/blogs/robfarley/archive/2008/08/07/filtering-results-without-losing-the-outer-join.aspx#comment-611</guid>

					<description><![CDATA[Yep, we&#039;re planning updates most of our queries (mostly using a large number of INNER JOINs to large tables) specifically to reduce the join sets. Most of these queries currently do all the filtering in the WHERE clause and they take forever for moderately large tables (e.g. Table1: 2000 records, Table2: 20,000 records, Table3: 20,000 records).

Of course the example above dictates that would have been the logical thing to do in the first place :-)]]></description>
			<content:encoded><![CDATA[<p>Yep, we&#8217;re planning updates most of our queries (mostly using a large number of INNER JOINs to large tables) specifically to reduce the join sets. Most of these queries currently do all the filtering in the WHERE clause and they take forever for moderately large tables (e.g. Table1: 2000 records, Table2: 20,000 records, Table3: 20,000 records).</p>
<p>Of course the example above dictates that would have been the logical thing to do in the first place 🙂</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Nelson Cuadrado		</title>
		<link>https://lobsterpot.com.au/blog/2008/08/07/filtering-results-without-losing-the-outer-join/#comment-610</link>

		<dc:creator><![CDATA[Nelson Cuadrado]]></dc:creator>
		<pubDate>Tue, 12 Aug 2008 09:45:24 +0000</pubDate>
		<guid isPermaLink="false">/blogs/robfarley/archive/2008/08/07/filtering-results-without-losing-the-outer-join.aspx#comment-610</guid>

					<description><![CDATA[This is an important rule to follow whenever you have to apply criteria (except for &quot;Is Null&quot; criteria) to a table that is outer joined, otherwise you end up converting the join to an inner join without knowing it.

Thanks for publishing it!]]></description>
			<content:encoded><![CDATA[<p>This is an important rule to follow whenever you have to apply criteria (except for &#8220;Is Null&#8221; criteria) to a table that is outer joined, otherwise you end up converting the join to an inner join without knowing it.</p>
<p>Thanks for publishing it!</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Ed Swindell		</title>
		<link>https://lobsterpot.com.au/blog/2008/08/07/filtering-results-without-losing-the-outer-join/#comment-609</link>

		<dc:creator><![CDATA[Ed Swindell]]></dc:creator>
		<pubDate>Mon, 11 Aug 2008 05:53:36 +0000</pubDate>
		<guid isPermaLink="false">/blogs/robfarley/archive/2008/08/07/filtering-results-without-losing-the-outer-join.aspx#comment-609</guid>

					<description><![CDATA[It also tends to be faster too, as the result set that is being joined is smaller.]]></description>
			<content:encoded><![CDATA[<p>It also tends to be faster too, as the result set that is being joined is smaller.</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
