Re: Comportamiento correcto del "not in" ?

From: Guillermo Villanueva <guillermovil(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Comportamiento correcto del "not in" ?
Date: 2012-07-17 01:05:52
Message-ID: CANm+PCDm76f15=j8UuTz_Rwa-6QMsKye1vc4+TE+8YSzNd2sYw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Un poco tarde mi agradecimiento por las respuestas.
Alvaro, como siempre, muy claro y conciso.
Es como vos decís es extraño y a mi entender no muy lógico a primera vista,
no sabía de ese estándar, viéndolo en ejemplos concretos podríamos decir
que:
4 not in (1, 2, 5, null)
no es verdadero!

Es así?

Guillermo Villanueva

El 10 de julio de 2012 11:07, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>escribió:

>
> Excerpts from Guillermo Villanueva's message of lun jul 09 13:06:37 -0400
> 2012:
>
> > Controlando que dentro y fuera de la subconsulta la clavebeneficiario
> sea
> > no nula, la consulta devuelve lo que esperaba.
>
> > Porque? es el comportamiento normal?
>
> Es extraño la primera vez que lo ves, pero la explicación es que la
> lógica booleana de tres valores exige que sea así:
>
> http://www.postgresql.org/docs/9.1/static/functions-subquery.html
> Mira 9.20.3 NOT IN. Dice:
> Note that if the left-hand expression yields null, or if there
> are no equal right-hand values and at least one right-hand row
> yields null, the result of the NOT IN construct will be null,
> not true.
>
> traduzco:
> "si la expresión a la izquierda retorna nulo, o si no hay valores
> iguales a la derecha y al menos uno de los valores de la derecha es
> nulo, el resultado del NOT IN es nulo, no verdadero"
>
> This is in accordance with SQL's normal rules for
> Boolean combinations of null values.
>
>
> Puede ser más simple conceptualmente reformular la consulta usando NOT
> EXISTS.
>
> --
> Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Juan Manuel Mero Murillo 2012-07-17 15:04:20 replicacion postgres
Previous Message Jaime Casanova 2012-07-15 16:17:24 Re: Que claves externas apuntan a mi tabla...