Avatar billede Søren Bech Morsing Praktikant
18. oktober 2002 - 11:53 Der er 3 kommentarer og
1 løsning

Teori: Hvis jeg vil hive data ud fra 3 tabeller...

Jeg skal lige ha' lidt teori på plads. Jeg har 3 tabeller. Der er ét felt i alle tabeller: navn, som er min nøgle.

Nu vil jeg så gerne lave en join på de her 3 tabeller, med navn = DAN

Har jeg så ret i at min database er nødt til at løbe alle 3 tabeller igennem og finde alle poster hvor navn = DAN, før den joiner dem sammen?

fx.
SELECT * FROM tabel INNER JOIN tabel2 ON tabel1.navn = tabel2.navn INNER JOIN tabel3 on tabel2.navn = tabel3.navn WHERE tabel1.navn = 'DAN'
Avatar billede teepee Nybegynder
18. oktober 2002 - 12:59 #1
Det kommer vel an på databasen. Et index vil sørge for at den hurtigt finder frem til de rigtige rækker, men ellers ja. Mange databaser vil have en eller anden form for index på nøglefelterne, hvis det vel at mærke er specificeret.
Avatar billede Søren Bech Morsing Praktikant
18. oktober 2002 - 13:15 #2
Ville:

SELECT * FROM tabel INNER JOIN tabel2 ON tabel1.navn = tabel2.navn INNER JOIN tabel3 on tabel2.navn = tabel3.navn AND tabel1.navn = tabel3.navn WHERE tabel1.navn = 'DAN'

Være mere korrekt?
Avatar billede teepee Nybegynder
18. oktober 2002 - 13:46 #3
Hvis nøglefeltet 'navn' er hele nøglen, så bliver antallet af rækker det samme. Om select'en tager længere tid er et godt spørgsmål, men det er i hvert fald ikke mere rigtigt. Den første udgave er god nok, og virker rigtig efter din tidligere forklaring.
Avatar billede teepee Nybegynder
18. oktober 2002 - 13:50 #4
Du har en inner join i eks. 2 hvor du joiner begge tabeller på samme tabel. Er dette ikke nok, i sig selv?
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