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>
>
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... |