Bergabung adalah alat yang sangat ampuh. Ingat aljabar relasional dari modul pengantar database?
Gabungan adalah aljabar relasional yang diterapkan .
Misalkan Anda memiliki 2 tabel, people
dan 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
);
Kami menambahkan beberapa data:
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');
Sekarang katakan bahwa kita ingin menghubungkan kedua tabel, karena polisi menghentikan Roger mengemudi, terlihat muda, dan ingin mengetahui usianya dari database mereka.
Roger adalah anjing saya, tapi anggap saja anjing bisa mengemudikan mobil.
Kita dapat membuat gabung dengan sintaks ini:
SELECT age FROM people JOIN cars ON people.name = cars.owner WHERE cars.model='Mustang';
Kami akan mendapatkan kembali hasil ini:
age
-----
8
Apa yang terjadi? Kami menggabungkan dua mobil tabel pada dua kolom tertentu:name
dari people
tabel, dan owner
dari cars
tabel.
Gabungan adalah topik yang dapat berkembang dalam kompleksitas karena ada banyak jenis gabungan yang dapat Anda gunakan untuk melakukan hal-hal yang lebih menarik dengan banyak tabel, tetapi ini adalah contoh paling dasar.