From: | Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec> |
---|---|
To: | Edwin Quijada <listas_quijada(at)hotmail(dot)com> |
Cc: | alvherre(at)alvh(dot)no-ip(dot)org, fquintana(at)itccanarias(dot)org, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | incidencias de NULL con NOT IN fue:(Re: [pgsql-es-ayuda] Bajo rendimiento en postgresql cuando se lanza un delete) |
Date: | 2009-08-01 18:24:11 |
Message-ID: | 3073cc9b0908011124k1f11f236pa0bc515425f214c6@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
2009/7/30 Edwin Quijada <listas_quijada(at)hotmail(dot)com>:
>
>> De ser así, ¿has leído respecto de las implicancias que tienen los
>> valores NULL en cláusulas NOT IN?
>>
>
> El no se pero a mi me gustaria saber que implicaciones tienen los NULL en clausulas NOT IN , donde puedo ver eso?
>
postgres=# select current_date where 1 not in (select 2);
date
------------
2009-08-01
(1 row)
postgres=# select current_date where 1 not in (select 2 union select null);
date
------
(0 rows)
La razon siempre se la atribuye al estandar aunque no se en que parte
del estandar esta eso...
en todo caso, este ejemplo nos permite hacernos una idea:
-- en este caso el resultado es true, 1 *definitivamente*
-- esta en el conjunto de resultados de la subconsulta
postgres=# select 1 in (select 1 union select 2 union select null);
?column?
----------
t
(1 row)
-- en este caso el 1 no forma parte del conjunto de resultados...
-- pero como NULL es deconocido o indeterminado no puedo decir a
ciencia cierta que *no es* 1
-- imagino que es bajo esa premisa que el resultado aqui es NULL en
lugar de false
postgres=# select 1 in (select 2 union select null);
?column?
----------
(1 row)
-- siendo que en el ejemplo anterior el resultado es NULL, y la
negacion de NULL es NULL
-- al negar la expresion anterior obtengo otra vez NULL
-- segun el estandar: "The expression RVC NOT IN IPV is equivalent to
NOT ( RVC IN IPV )
postgres=# select not (1 in (select 2 union select null));
?column?
----------
(1 row)
--
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Asesoría y desarrollo de sistemas
Guayaquil - Ecuador
Cel. +59387171157
From | Date | Subject | |
---|---|---|---|
Next Message | jines jines | 2009-08-02 03:28:09 | Consulta Tsearch |
Previous Message | Ernesto Lozano | 2009-08-01 13:50:53 | Re: [pgsql-es-ayuda] Re: Acerca de PGDay 2009 Buenos Aires participación comunidad cubana confirmación |