Avatar billede trophymanager Nybegynder
20. september 2006 - 19:56 Der er 1 kommentar og
1 løsning

hjælp til en lidt skør query

Hej.

Jeg vil gerne lave en query der vælger alle de rækker med et id i tabel 1 der ikke optræder i tabel to.

Er der nogen der kan hjælpe? Har prøvet både med distincts og joins og det ligner lorrot.
Avatar billede trophymanager Nybegynder
20. september 2006 - 20:02 #1
ah fandt det fra anden side :)

SELECT * FROM tabel1 WHERE id NOT IN (select id from tabel2)
Avatar billede kjulius Novice
20. september 2006 - 21:09 #2
Ja, det kan bruges, men nogen gange er det ikke helt optimalt. Ofte vil en forespørgsel som den efterfølgende virke hurtigere (sandsynligvis fordi den kan bruge evt. indexer optimalt):

SELECT tabel1.*
FROM tabel1
LEFT JOIN tabel2 ON tabel1.id = tabel2.id
WHERE tabel2.id IS NULL

Det er ikke sikkert det vil virke hurtigere hos dig. Det afhænger af tabelstørrelser, indexer mv.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester