Discussion:
Continue with the original idea, about JOINS....
(too old to reply)
Jhonatas M. Rodríguez
2004-06-25 21:56:23 UTC
Permalink
Thank you at all for yours request



Hey, i have a question about of the uses the joins
in PostgreSQL.

In SQL Server the joins i can use with the simbol(*),
Example:. the right join is
"table1.field1 =* table2.field2"

In Oracle the joins are with the simbol (+),
Example:. the left join is
"table1.field1 (+)= table2.field2"

What is the simbol the PostgreSQL in the use the
JOINS?....

I want to continue with the original idea, how i do a
join without
(table1 LEFT JOIN table2 ON (table1.field1 =
table2.field2)
table2 RIGHT OUTER JOIN table1 ON (table2.field2 =
table1.field1))

else with a simbol (as (*,+, anything)).

Best regards,

Jhonatas M. Rodríguez


=====
Jhonatas M. Rodríguez

_________________________________________________________
Do You Yahoo!?
Información de Estados Unidos y América Latina, en Yahoo! Noticias.
Visítanos en http://noticias.espanol.yahoo.com

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to ***@postgresql.org)
Stephan Szabo
2004-06-25 22:23:44 UTC
Permalink
Post by Jhonatas M. Rodríguez
Hey, i have a question about of the uses the joins
in PostgreSQL.
In SQL Server the joins i can use with the simbol(*),
Example:. the right join is
"table1.field1 =* table2.field2"
In Oracle the joins are with the simbol (+),
Example:. the left join is
"table1.field1 (+)= table2.field2"
What is the simbol the PostgreSQL in the use the
JOINS?....
I want to continue with the original idea, how i do a
join without
(table1 LEFT JOIN table2 ON (table1.field1 =
table2.field2)
table2 RIGHT OUTER JOIN table1 ON (table2.field2 =
table1.field1))
else with a simbol (as (*,+, anything)).
You don't do outer joins in PostgreSQL with a symbol. We only
support the standard mandated way of doing the joins. Syntaxes
like the Oracle and SQL Server one above are at best imprecise
and at worst entirely broken(*) so I doubt that we're going to
support one in the future.

(*) - The symbol using syntaxes above are ripe for possible problems
where you have conflicting conditions which you either need to diagnose
or come up with semantics for. Also, since join ordering is potentially
significant to outer join behavior, syntax that hides that is dangerous.

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html
Tom Lane
2004-06-25 22:19:07 UTC
Permalink
Post by Jhonatas M. Rodríguez
I want to continue with the original idea, how i do a
join without
(table1 LEFT JOIN table2 ON (table1.field1 =
table2.field2)
table2 RIGHT OUTER JOIN table1 ON (table2.field2 =
table1.field1))
else with a simbol (as (*,+, anything)).
You don't. Those syntaxes are nonstandard and we don't support them.
The ISO SQL standard defines JOIN, and that's what we support.

regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html
Sam Barnett-Cormack
2004-06-26 04:56:40 UTC
Permalink
Post by Jhonatas M. Rodríguez
Thank you at all for yours request
Hey, i have a question about of the uses the joins
in PostgreSQL.
In SQL Server the joins i can use with the simbol(*),
Example:. the right join is
"table1.field1 =* table2.field2"
In Oracle the joins are with the simbol (+),
Example:. the left join is
"table1.field1 (+)= table2.field2"
What is the simbol the PostgreSQL in the use the
JOINS?....
I want to continue with the original idea, how i do a
join without
(table1 LEFT JOIN table2 ON (table1.field1 =
table2.field2)
table2 RIGHT OUTER JOIN table1 ON (table2.field2 =
table1.field1))
else with a simbol (as (*,+, anything)).
The keyword you are looking for is NATURAL, provided the joining field
has the same name in both tables (which is just good design practice).

table1 NATURAL INNER JOIN table2, for example, is equivalent to table1
INNER JOIN table2 ON (table1.table2_keyfield = table2.table2_keyfield)

Feel free to look in the documentation under 'joins' - it's well
described in there.
--
Sam Barnett-Cormack
Student of Physics & Maths | Programmer (Perl, PHP, C++, C, whatever)
Lancaster University | Administrator (PostgreSQL, Linux, whatever)

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org
Loading...