Joins zijn een zeer krachtig hulpmiddel. Herinner je je relationele algebra uit de database-intromodule?
Joins zijn toegepaste relationele algebra .
Stel dat je 2 tafels hebt, people
en cars
:
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL PRIMARY KEY
);
CREATE TABLE cars (
brand CHAR(20) NOT NULL,
model CHAR(20) NOT NULL,
owner CHAR(20) NOT NULL PRIMARY KEY
);
We voegen enkele gegevens toe:
INSERT INTO people VALUES (37, 'Flavio');
INSERT INTO people VALUES (8, 'Roger');
INSERT INTO cars VALUES ('Ford', 'Fiesta', 'Flavio');
INSERT INTO cars VALUES ('Ford', 'Mustang', 'Roger');
Stel nu dat we de twee tabellen met elkaar in verband willen brengen, omdat de politie Roger stopte met rijden, er jong uitziet en zijn leeftijd uit hun database wil weten.
Roger is mijn hond, maar laten we aannemen dat honden auto kunnen rijden.
We kunnen een join . maken met deze syntaxis:
SELECT age FROM people JOIN cars ON people.name = cars.owner WHERE cars.model='Mustang';
We krijgen dit resultaat terug:
age
-----
8
Wat gebeurt er? We voegen de twee tafelwagens samen op twee specifieke kolommen:name
van de people
tabel, en owner
van de cars
tafel.
Joins zijn een onderwerp dat in complexiteit kan toenemen, omdat er veel verschillende soorten joins zijn die je kunt gebruiken om mooiere dingen te doen met meerdere tabellen, maar hier is het meest eenvoudige voorbeeld.