Bonjour à tous.
Petite question sur une portion de code qui ne renvoie pas ce que mon cerveau pense

.
La voila
drop table teste;
create table teste(dp number(2), ca number(2), nbr number(2));
insert into teste values(73,4,1);
insert into teste values(73,23,1);
insert into teste values(73,97,2);
insert into teste values(73,NULL,1);
select count(*) from teste;
select count(*) from teste2;
drop table teste2;
create table teste2(dp2 number(2), ca2 number(2), nbr2 number(2));
insert into teste2 values(73,97,1);
select dp, ca, nbr, nbr2
from teste, teste2
where dp=dp2(+)
and ca is null
and ca2 is null;
Dans ma tête, utilisant une jointure externe je m'attends à récuperer une ligne 73 NULL 1 NULL
mais la requête ne renvoie rien. Je pense que c'est un souci de gestion de null mélangé à la jointure externe mais si quelqu'un pouvait m'éclaircir ce serait super.
Merci
kara
Bonjour à tous.
Petite question sur une portion de code qui ne renvoie pas ce que mon cerveau pense :).
La voila
drop table teste;
create table teste(dp number(2), ca number(2), nbr number(2));
insert into teste values(73,4,1);
insert into teste values(73,23,1);
insert into teste values(73,97,2);
insert into teste values(73,NULL,1);
select count(*) from teste;
select count(*) from teste2;
drop table teste2;
create table teste2(dp2 number(2), ca2 number(2), nbr2 number(2));
insert into teste2 values(73,97,1);
select dp, ca, nbr, nbr2
from teste, teste2
where dp=dp2(+)
and ca is null
and ca2 is null;
Dans ma tête, utilisant une jointure externe je m'attends à récuperer une ligne 73 NULL 1 NULL
mais la requête ne renvoie rien. Je pense que c'est un souci de gestion de null mélangé à la jointure externe mais si quelqu'un pouvait m'éclaircir ce serait super.
Merci
kara