Syventävää tietoa ja tehtäviä ylempiä arvosanoja tavoitteleville

Tauluviittaukset

Tietokannat harvemmin ovat vain yksittäisiä tauluja, vaan usein ne koostuvat useammista, toisiinsa linkittyvistä taulukoista. Verkkokaupassa voisi olla vaikkapa taulu, joka sisältää kaikki tuoteryhmät ja tuotteet ja toinen taulu, jossa on kaikki ostokset. Kolmannessa olisi sitten tiedot asiakkaista.

Seuraava kysely hakee kaikki tietyn asiakkaan ostamat tuotteet verkkokaupan tietokannasta:

SELECT Ostokset.tuote, Asiakkaat.nimi FROM Ostokset, Asiakkaat WHERE Ostokset.asiakas_id = Asiakkaat.id

Ostokset taulussa on siis ainakin kaksi saraketta: tuote ja asiakas_id. Asiakas_id on sama kuin mikä on Asiakkaat-taulun id-sarakkeen tieto. Yhdistämällä nämä kaksi taulua WHERE-lauseella voimme poimia kunkin asiakkaan ostamat tuotteet.

Ostokset-taulu voisi näyttää siis vaikkapa tältä

id tuote asiakas_id pvm
1 Heinäseiväs A 2578 22.10.2023
2 Heinäseiväs A 2578 22.10.2023
3 Heinäseiväs B 2578 22.10.2023
4 Heinäseiväs A 2654 31.10.2023
5 Heinäseiväs B 2654 31.10.2023
6 Heinäseiväs B 658 31.10.2023
7 Heinäseiväs B 658 31.10.2023
8 Heinäseiväs C 658 31.10.2023
9 Heinäseiväs B 658 31.10.2023
10 Heinäseiväs A 456 22.11.2023

Ja Asiakkaat-taulu taas tältä

id nimi
2578 Mikko Mallikas
2654 Viljami Korhonen
658 Hjalmar Virtanen
456 Krisse von Korsholm