|
Posted by Jerry Stuckle on 04/29/06 23:42
Mladen Gogala wrote:
> On Sat, 29 Apr 2006 17:55:36 +0200, Jean-Claude wrote:
>
>
>>1/
>>select *
>>from file1 a join file2 b on b.key=a.key
>>where b.data=123
>> and b.name='TEST'
>
>
> I cannot understand why do people use that idiotic ANSI join syntax.
> Relational databases model naive set theory. That means defining subsets
> by setting rules on elements. Your query should be best written like
> this:
>
> select a.*,b.*
> from file1 a,file2 b
> where a.key=b.key and
> b.data=123 and
> b.name='TEST'
>
> That way, the database optimizer doesn't have to contend with
> idiotic things like "join". You should define your data and your
> selection properly, index the proper columns and enjoy.
>
Maybe because the "rules of elements" don't allow all possibilities?
For instance - try this. List all records in table A, along with their matching
records in table B if those records exist. Impossible without a Union, but very
easy with a LEFT OUTER JOIN.
There is minimal additional overhead to the JOIN syntax method. And much more
flexibility. Additionally, you only need to learn one basic syntax for all JOIN
cases.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
[Back to original message]
|