<?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: Why SQL Sucks</title>
	<atom:link href="http://blog.schauderhaft.de/2010/02/15/why-sql-sucks/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.schauderhaft.de/2010/02/15/why-sql-sucks/</link>
	<description>Softwaredevelopment, Projectmanagement, Qualitymanagement and all things &#34;schauderhaft&#34;</description>
	<lastBuildDate>Mon, 06 Sep 2010 16:58:41 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: Dave_Eels</title>
		<link>http://blog.schauderhaft.de/2010/02/15/why-sql-sucks/comment-page-1/#comment-714</link>
		<dc:creator>Dave_Eels</dc:creator>
		<pubDate>Thu, 02 Sep 2010 08:13:05 +0000</pubDate>
		<guid isPermaLink="false">http://blog.schauderhaft.de/?p=414#comment-714</guid>
		<description>If you cant understand that beauty. Try going back to SQL 101. 

The Solution is actually very simple. If you dont like SQL dont use it. If you dont want to use SQL / dont dislike it.  You will very soon find out how easy it really is comparing to other Database Sotware. Try adding the same effort into learning SQL as Complaining about it. It sometimes helps. 

Tutorial 1
 - Making the First Letter of a Word Uppercase. 
- Hold in shift and press the letter. ( Dont make it difficult by turning Caps Lock on  , Press the letter and turn caps lock off )

Everything is Simpler if you know how to use it.</description>
		<content:encoded><![CDATA[<p>If you cant understand that beauty. Try going back to SQL 101. </p>
<p>The Solution is actually very simple. If you dont like SQL dont use it. If you dont want to use SQL / dont dislike it.  You will very soon find out how easy it really is comparing to other Database Sotware. Try adding the same effort into learning SQL as Complaining about it. It sometimes helps. </p>
<p>Tutorial 1<br />
 &#8211; Making the First Letter of a Word Uppercase.<br />
- Hold in shift and press the letter. ( Dont make it difficult by turning Caps Lock on  , Press the letter and turn caps lock off )</p>
<p>Everything is Simpler if you know how to use it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lee</title>
		<link>http://blog.schauderhaft.de/2010/02/15/why-sql-sucks/comment-page-1/#comment-656</link>
		<dc:creator>Lee</dc:creator>
		<pubDate>Fri, 30 Jul 2010 21:20:27 +0000</pubDate>
		<guid isPermaLink="false">http://blog.schauderhaft.de/?p=414#comment-656</guid>
		<description>I completley agree: SQL sucks. 
I do C,C++,Python,Pascal, embedded everything etc and SQL just sucks as a language. It reminds me of the first BASIC. I often just find myself dumping it all to CSV and parsing it a homebrew info-structure way.</description>
		<content:encoded><![CDATA[<p>I completley agree: SQL sucks.<br />
I do C,C++,Python,Pascal, embedded everything etc and SQL just sucks as a language. It reminds me of the first BASIC. I often just find myself dumping it all to CSV and parsing it a homebrew info-structure way.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rolfen</title>
		<link>http://blog.schauderhaft.de/2010/02/15/why-sql-sucks/comment-page-1/#comment-595</link>
		<dc:creator>rolfen</dc:creator>
		<pubDate>Sun, 04 Jul 2010 21:51:17 +0000</pubDate>
		<guid isPermaLink="false">http://blog.schauderhaft.de/?p=414#comment-595</guid>
		<description>So, what&#039;s the alternative?</description>
		<content:encoded><![CDATA[<p>So, what&#8217;s the alternative?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jens Schauder</title>
		<link>http://blog.schauderhaft.de/2010/02/15/why-sql-sucks/comment-page-1/#comment-426</link>
		<dc:creator>Jens Schauder</dc:creator>
		<pubDate>Fri, 09 Apr 2010 06:10:46 +0000</pubDate>
		<guid isPermaLink="false">http://blog.schauderhaft.de/?p=414#comment-426</guid>
		<description>Hi notnot,
ich habe keinerlei Interesse SQL durch etwas imperatives zu ersetzen. In der Tat ist die deklarative Natur von SQL eine Stärke, ebenso wie die mathematischen Fundamente.

Das ist aber in keiner Weise ein Gegenargument gegen meine Argumente. Mein Beispiel von Fortran als moderne Sprache war in dieser Hinsicht vielleicht etwas ungeschickt. Es ging mir dabei nur um ein Beispiel für eine Sprache, die zumindest grundlegende Mechanismen der Modularisierung unterstützt.</description>
		<content:encoded><![CDATA[<p>Hi notnot,<br />
ich habe keinerlei Interesse SQL durch etwas imperatives zu ersetzen. In der Tat ist die deklarative Natur von SQL eine Stärke, ebenso wie die mathematischen Fundamente.</p>
<p>Das ist aber in keiner Weise ein Gegenargument gegen meine Argumente. Mein Beispiel von Fortran als moderne Sprache war in dieser Hinsicht vielleicht etwas ungeschickt. Es ging mir dabei nur um ein Beispiel für eine Sprache, die zumindest grundlegende Mechanismen der Modularisierung unterstützt.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: notnot</title>
		<link>http://blog.schauderhaft.de/2010/02/15/why-sql-sucks/comment-page-1/#comment-424</link>
		<dc:creator>notnot</dc:creator>
		<pubDate>Thu, 08 Apr 2010 10:26:08 +0000</pubDate>
		<guid isPermaLink="false">http://blog.schauderhaft.de/?p=414#comment-424</guid>
		<description>Ich finde die Einwände etwas naiv. 

SQL ist eine relationale Sprache und ist im Umgang mit Mengen imperativen Sprachen immer überlegen. Sie ist mit logischen Sprachen verwandt wie RegEx oder Prolog, aber mit imperativen wie Fortran. SQL ist regulären Mengen und regulären Ausdrücken daher verwandter als Imperativen und Prozeduren, gleich ob SQL prozedurale Programmierung ähnlich RegEx auf eine Art unterstützt.

Ich empfehle dringend ein Studium Datenstrukturen und Mathematik (Mengenlehre, Relationen, Abbildungen). Dann leuchten einem die Vorteile ein. Es hat Gründe, warum man AIs, Graphen oder Netzwerke mit Hilfe solcher Sprachen programmiert.</description>
		<content:encoded><![CDATA[<p>Ich finde die Einwände etwas naiv. </p>
<p>SQL ist eine relationale Sprache und ist im Umgang mit Mengen imperativen Sprachen immer überlegen. Sie ist mit logischen Sprachen verwandt wie RegEx oder Prolog, aber mit imperativen wie Fortran. SQL ist regulären Mengen und regulären Ausdrücken daher verwandter als Imperativen und Prozeduren, gleich ob SQL prozedurale Programmierung ähnlich RegEx auf eine Art unterstützt.</p>
<p>Ich empfehle dringend ein Studium Datenstrukturen und Mathematik (Mengenlehre, Relationen, Abbildungen). Dann leuchten einem die Vorteile ein. Es hat Gründe, warum man AIs, Graphen oder Netzwerke mit Hilfe solcher Sprachen programmiert.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: DingensBummens &#124; Das Ding was Bummst &#187; My Google Reader Shared Items &#8211; Monday, February 15, 2010</title>
		<link>http://blog.schauderhaft.de/2010/02/15/why-sql-sucks/comment-page-1/#comment-416</link>
		<dc:creator>DingensBummens &#124; Das Ding was Bummst &#187; My Google Reader Shared Items &#8211; Monday, February 15, 2010</dc:creator>
		<pubDate>Mon, 29 Mar 2010 19:31:39 +0000</pubDate>
		<guid isPermaLink="false">http://blog.schauderhaft.de/?p=414#comment-416</guid>
		<description>[...] Why SQL Sucks [...]</description>
		<content:encoded><![CDATA[<p>[...] Why SQL Sucks [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robby</title>
		<link>http://blog.schauderhaft.de/2010/02/15/why-sql-sucks/comment-page-1/#comment-397</link>
		<dc:creator>Robby</dc:creator>
		<pubDate>Wed, 03 Mar 2010 15:49:55 +0000</pubDate>
		<guid isPermaLink="false">http://blog.schauderhaft.de/?p=414#comment-397</guid>
		<description>I am shocked... SHOCKED... at how many people have commented that SQL is easy to understand. SQL has been the bane of my multi-year developer career. I mean how can anyone understand this little beauty:

				SELECT
					  COUNT(*) AS Pipeline_Count
					, SUM(CASE WHEN OP.Rating_BidderRate &gt; 3 THEN 1 ELSE 0 END) AS PipelineProbableWinCount
					, SUM(OP.EstimateAward_Value) AS Pipeline_TotalValue
					, SUM(CASE WHEN OP.Rating_BidderRate &gt; 3 THEN OP.EstimateAward_Value ELSE 0 END) AS Pipeline_ProbableWinTotalValue
					, SUM(CASE WHEN O.Recompete = 1 AND OP.Rating_BidderRate &gt;= 7 THEN OP.EstimateAward_Value ELSE 0 END) AS Pipeline_RecompeteIncumbentTotalValue
					, SUM(CASE WHEN O.Recompete = 0 AND OP.Rating_BidderRate &gt; 3 THEN OP.EstimateAward_Value ELSE 0 END) AS Pipeline_NewTotalValue
					, SUM(CASE WHEN O.Recompete = 1 AND OP.Rating_BidderRate BETWEEN 4 AND 6 THEN OP.EstimateAward_Value ELSE 0 END) AS Pipeline_RecompeteNonIncumbentTotalValue
					, C.Id AS CompanyId
				FROM 
					dbo.OpportunityPipeline OP WITH (NOLOCK)</description>
		<content:encoded><![CDATA[<p>I am shocked&#8230; SHOCKED&#8230; at how many people have commented that SQL is easy to understand. SQL has been the bane of my multi-year developer career. I mean how can anyone understand this little beauty:</p>
<p>				SELECT<br />
					  COUNT(*) AS Pipeline_Count<br />
					, SUM(CASE WHEN OP.Rating_BidderRate &gt; 3 THEN 1 ELSE 0 END) AS PipelineProbableWinCount<br />
					, SUM(OP.EstimateAward_Value) AS Pipeline_TotalValue<br />
					, SUM(CASE WHEN OP.Rating_BidderRate &gt; 3 THEN OP.EstimateAward_Value ELSE 0 END) AS Pipeline_ProbableWinTotalValue<br />
					, SUM(CASE WHEN O.Recompete = 1 AND OP.Rating_BidderRate &gt;= 7 THEN OP.EstimateAward_Value ELSE 0 END) AS Pipeline_RecompeteIncumbentTotalValue<br />
					, SUM(CASE WHEN O.Recompete = 0 AND OP.Rating_BidderRate &gt; 3 THEN OP.EstimateAward_Value ELSE 0 END) AS Pipeline_NewTotalValue<br />
					, SUM(CASE WHEN O.Recompete = 1 AND OP.Rating_BidderRate BETWEEN 4 AND 6 THEN OP.EstimateAward_Value ELSE 0 END) AS Pipeline_RecompeteNonIncumbentTotalValue<br />
					, C.Id AS CompanyId<br />
				FROM<br />
					dbo.OpportunityPipeline OP WITH (NOLOCK)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jens Schauder</title>
		<link>http://blog.schauderhaft.de/2010/02/15/why-sql-sucks/comment-page-1/#comment-383</link>
		<dc:creator>Jens Schauder</dc:creator>
		<pubDate>Wed, 17 Feb 2010 05:55:58 +0000</pubDate>
		<guid isPermaLink="false">http://blog.schauderhaft.de/?p=414#comment-383</guid>
		<description>@Nicolas

Well PL-SQL isn&#039;t that much better then SQL when it comes to the design of the language. You do get modularization but you loose the set base declaritive way of thinking and working which is a strength of SQL

And I agree with your last two paragraphs. While hibernate is great for many things, it sucks extremely at large volume processing. And SQL shows it powers. Yet this doesn&#039;t make it a nice language.</description>
		<content:encoded><![CDATA[<p>@Nicolas</p>
<p>Well PL-SQL isn&#8217;t that much better then SQL when it comes to the design of the language. You do get modularization but you loose the set base declaritive way of thinking and working which is a strength of SQL</p>
<p>And I agree with your last two paragraphs. While hibernate is great for many things, it sucks extremely at large volume processing. And SQL shows it powers. Yet this doesn&#8217;t make it a nice language.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nicolas</title>
		<link>http://blog.schauderhaft.de/2010/02/15/why-sql-sucks/comment-page-1/#comment-382</link>
		<dc:creator>Nicolas</dc:creator>
		<pubDate>Wed, 17 Feb 2010 00:11:18 +0000</pubDate>
		<guid isPermaLink="false">http://blog.schauderhaft.de/?p=414#comment-382</guid>
		<description>Hard to parse for computers : Don&#039;t care i sure it&#039;s possible.
Hard to parse for humans : Yes because SQL is very expressive and concise. So a few line can do many complex things.
Not consistent: Do not agree, it&#039;s logical and consistent if you think at what it really does.

(Almost) no modularization: Don&#039;t use plain SQL. You should generate it. It&#039;s fairly esay, for example in PL-SQL. That what I do all the time. But you are true, we need more modularity.

No decent development environment appart from the target environment : True I know what you can have when you develop java, and at least, all SQL environment i know sucks. (didn&#039;t try Visual studio…)

Why does a curious developer with over 10 years of experience in database development know some reasons why SQL sucks, but can’t answer the simple question, why these reasons apply?

Pleople don&#039;t know, don&#039;t like SQL. SQL is old fashioned. But they forget, when you do do some serious data manipulation, not only on 100K line, but on 10 000K line (we have 30 000K to 300 000K line in our table and have to compute sum, aggregate etc on it).

In SQL it is just a few minutes hours. And a few line of code. Do it with hibernate and java : hundred, thousand line of code, chance you have Out of Memory Exceptions and it will be far far slower.</description>
		<content:encoded><![CDATA[<p>Hard to parse for computers : Don&#8217;t care i sure it&#8217;s possible.<br />
Hard to parse for humans : Yes because SQL is very expressive and concise. So a few line can do many complex things.<br />
Not consistent: Do not agree, it&#8217;s logical and consistent if you think at what it really does.</p>
<p>(Almost) no modularization: Don&#8217;t use plain SQL. You should generate it. It&#8217;s fairly esay, for example in PL-SQL. That what I do all the time. But you are true, we need more modularity.</p>
<p>No decent development environment appart from the target environment : True I know what you can have when you develop java, and at least, all SQL environment i know sucks. (didn&#8217;t try Visual studio…)</p>
<p>Why does a curious developer with over 10 years of experience in database development know some reasons why SQL sucks, but can’t answer the simple question, why these reasons apply?</p>
<p>Pleople don&#8217;t know, don&#8217;t like SQL. SQL is old fashioned. But they forget, when you do do some serious data manipulation, not only on 100K line, but on 10 000K line (we have 30 000K to 300 000K line in our table and have to compute sum, aggregate etc on it).</p>
<p>In SQL it is just a few minutes hours. And a few line of code. Do it with hibernate and java : hundred, thousand line of code, chance you have Out of Memory Exceptions and it will be far far slower.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jens Schauder</title>
		<link>http://blog.schauderhaft.de/2010/02/15/why-sql-sucks/comment-page-1/#comment-381</link>
		<dc:creator>Jens Schauder</dc:creator>
		<pubDate>Tue, 16 Feb 2010 20:43:01 +0000</pubDate>
		<guid isPermaLink="false">http://blog.schauderhaft.de/?p=414#comment-381</guid>
		<description>@Adam Zochowski Your comparison is only a little off. I am fine with needing the execution environment (rdbms vs jvm). But yes I hate it that there is no concept comparable to interfaces, which allows to exchange the tables a sql statement operates on or (the currently not existing) modular pieces of a sql statement. It would allow for true unit testing of sql statments (among others)

Of course if you rely heavily on inheritance in an class based OO language you might easily end up in the same kind of mess one is stuck in with SQL.</description>
		<content:encoded><![CDATA[<p>@Adam Zochowski Your comparison is only a little off. I am fine with needing the execution environment (rdbms vs jvm). But yes I hate it that there is no concept comparable to interfaces, which allows to exchange the tables a sql statement operates on or (the currently not existing) modular pieces of a sql statement. It would allow for true unit testing of sql statments (among others)</p>
<p>Of course if you rely heavily on inheritance in an class based OO language you might easily end up in the same kind of mess one is stuck in with SQL.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic page generated in 0.186 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2010-09-10 16:59:01 -->
<!-- Compression = gzip -->