Hej!
Jag skulle vilja att någon gav mig ett exempel där det inte går att använda nestade satser, utan man måste köra med join.
------------------
Mvh
Patrik aka Brimba
3 svar · 217 visningar · startad av Brimba
Hej!
Jag skulle vilja att någon gav mig ett exempel där det inte går att använda nestade satser, utan man måste köra med join.
------------------
Mvh
Patrik aka Brimba
Om du vill hämta data från flera tabeller.
Annars går det alltid att skriva
select distinct a.* from a join b on villkor
som
select * from a as a
where exists (select * from b
where villkor)
en outer join går att skriva som en union mellan en vanlig subselect och en not exists
red: DBMS är fotast bättre på att optimera joinar än subselectar
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 12 dec 2001]
SELECT fldb, fldc FROM a, b WHERE a.flda = b.flda
Vad är det för mening med att skriva join när ovanstående går lika bra?
Är det helt valfritt eller finns det någon bra anledning?
[Redigerat av Brimba den 12 dec 2001]
Funktionellt så blir det samma. En bra optimerare skall kunna inse att det är samma sak så att i teorin skall det inte ha någon prestandamässig betydelse. Sen så kan det i praktiken vara bättre eller sämre för olika dbms att skriva på ena eller andra sättet.
Akademiskt så kan man tycka att det är vettigt att dela på joinvillkor och restriktionsvillkor.
------------------
essentitia preter non sans multiplicandum