Flet Tabeller

I denne artikel vil jeg forklare lidt om join, eller det at flette tabeller.

JOIN

Sammenfletning af to eller flere tabeller, det er lidt tricky, men jeg vil forklare lidt om det her. Eksempelvis tager man "nyhedder" tabellen og sammenfletter med "bruger", dette er vist herunder.

SELECT *
FROM nyhedder JOIN bruger
WHERE brugerid = brugerid
ORDER BY nyhedderdato DESC
LIMIT 10;

Der nogle problemer i ovenstående kald, for det første så vælger vi alle felter og ikke kun dem som vi har brug for, for det andet så ved vi ikke hvor fra at vi bruger felterne "brugerid".

Vi bliver nødsaget til at omskrive vores kald en del, vi kommer til at aliaser til tabellerne og bruge de ny navne på tabellerne til at sætte foran feltnavne, de aliaser vi opretter er kun midlertidige, som vist herunder.

SELECT n.*, b.brugernavn
FROM nyhedder AS n JOIN bruger AS b
WHERE n.brugerid = b.brugerid
ORDER BY n.nyhedderdato DESC
LIMIT 10;

Bemærk at vi har sat de aliaser op, som eksempelvis "nyhedder AS n", man kan også bruge "AS" på feltnavne.