Velge data fra en annen tabell ved hjelp av en fremmednøkkel
Jeg har to tabeller A & B.
Tabell A
id | name | num
Tabell B
id | date | roll
id i tabell B er en fremmednøkkel som er relatert til id i tabell A.
Jeg ønsker å hente innholdet i tabell B der id er oppgitt, og sammen med disse dataene trenger jeg også navnet som id er oppgitt i tabell A.
Jeg googlet og fant ut noen rare nøkkelord LEFT, JOIN, men jeg kunne ikke forstå det.
Jeg trenger å få dato og rulle fra tabell B og navn fra tabell A i en enkelt spørring. (id er en fremmednøkkel)
Plugin jeg bruker tillater dessverre ikke flere spørsmål atskilt med komma, så jeg må gjøre begge SELECT
i ett spørsmål.
9
3
Sammenføyning av tabeller er et grunnleggende prinsipp i relasjonsdatabaser. I ditt tilfelle er A og B knyttet sammen med kolonnen
id
, noe som betyr at du kan bruke en syntaks som ligner på denne:INNER JOIN
betyr at du bare ser rader der det finnes matchende poster i A og B. Hvis du vil ha alle radene i A og matchende poster i B, kan du endreINNER JOIN
tilLEFT JOIN
. Hvis du derimot vil ha alle postene fra B og bare de matchende postene fra A, bruker duRIGHT JOIN
. Til slutt, hvis du trenger alt fra begge tabellene, matchende eller ikke, kan du brukeFULL JOIN
.Du må sammenføye disse tabellene for å få det resultatet du ønsker.
Denne spørringen vil returnere alt fra tabell B og
name
fra tabell A der ID-en fra tabell B er den samme som ID-en fra tabell A.For å få resultatet fra de to tabellene som er knyttet til fremmednøkkelen, må du sammenføye tabellene.
Finn spørringen nedenfor slik du vil ha resultatet: