Re: Retornar 0 cuando no existen ocurrencias en consulta

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Yessica Brinkmann <yessica(dot)brinkmann(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Retornar 0 cuando no existen ocurrencias en consulta
Date: 2006-02-24 12:31:11
Message-ID: 20060224123111.GA4351@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Yessica Brinkmann escribió:
> Muchas gracias por tu interés y tu respuesta.
> Conozco LEFT OUTER JOIN. Normalmente no me gusta mucho usarlo; en realidad,
> ni siquiera suelo usar los join simples, ya que trato de usar normalmente un
> sql que sea digamos "genérico", es decir, que funcione para cualquier
> gerenciador, sea este Postgres, SQLServer, Oracle, etc., ya que la empresa
> en la que trabajo este es siempre un requerimiento de desarrollo.

LEFT JOIN esta soportado al menos por Oracle, probablemente SQL Server
tambien. Es parte del estandar.

(No es cierto que no uses joins: la consulta
"SELECT * FROM a,b WHERE a.foo=b.bar" tiene un inner join).

> En todo caso, sino hay otra forma de hacerlo, usaré el LEFT OUTER JOIN. Me
> recomiendas que lo use dentro de la consulta a subtable o en la consulta
> principal?

Te recomiendo que lo uses solo donde es estrictamente necesario :-) La
verdad es que no recuerdo cual de los JOINs tuyos necesitaba ser
convertido a OUTER JOIN. Pero conceptualmente es simple: un left outer
join entrega tuplas para el RTE de la izquierda aun cuando no hay una
tupla correspondiente a la derecha. (RTE = Range Table Entry; cada
elemento individual de la clausula FROM es un RTE, sea una tabla,
subconsulta, etc).

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Yessica Brinkmann 2006-02-24 12:44:48 Re: Retornar 0 cuando no existen ocurrencias en consulta
Previous Message Yessica Brinkmann 2006-02-24 11:37:11 Re: Retornar 0 cuando no existen ocurrencias en consulta