Połączenia są bardzo potężnym narzędziem. Pamiętasz algebrę relacyjną z modułu wprowadzającego do bazy danych?
Sprzężenia są stosowaną algebrą relacyjną .
Załóżmy, że masz 2 stoły, people
i 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
);
Dodajemy trochę danych:
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');
A teraz powiedzmy, że chcemy skorelować te dwie tabele, ponieważ policja zatrzymała Rogera w prowadzeniu samochodu, wygląda młodo i chce poznać jego wiek ze swojej bazy danych.
Roger to mój pies, ale załóżmy, że psy potrafią prowadzić samochody.
Możemy utworzyć dołączenie z tą składnią:
SELECT age FROM people JOIN cars ON people.name = cars.owner WHERE cars.model='Mustang';
Odzyskamy ten wynik:
age
-----
8
Co się dzieje? Łączymy dwie tabele samochodów na dwóch konkretnych kolumnach:name
od people
tabela i owner
z cars
tabela.
Sprzężenia to temat, który może stać się bardziej złożony, ponieważ istnieje wiele różnych rodzajów złączeń, które można wykorzystać do robienia bardziej wyszukanych rzeczy przy wielu stołach, ale oto najbardziej podstawowy przykład.