Database
 sql >> Datenbank >  >> RDS >> Database

SQL-Joins

Joins sind ein sehr mächtiges Werkzeug. Erinnerst du dich an relationale Algebra aus dem Datenbank-Einführungsmodul?

Joins sind angewandte relationale Algebra .

Angenommen, Sie haben 2 Tische, people und 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
);

Wir fügen einige Daten hinzu:

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');

Nehmen wir nun an, dass wir die beiden Tabellen korrelieren möchten, weil die Polizei Roger am Fahren angehalten hat, jung aussieht und sein Alter aus ihrer Datenbank wissen möchte.

Roger ist mein Hund, aber nehmen wir mal an, Hunde können Auto fahren.

Wir können einen Join erstellen mit dieser Syntax:

SELECT age FROM people JOIN cars ON people.name = cars.owner WHERE cars.model='Mustang';

Wir erhalten dieses Ergebnis zurück:

 age 
-----
   8

Was ist los? Wir verbinden die beiden Tischwagen in zwei spezifischen Spalten:name von den people Tabelle und owner von den cars Tabelle.

Joins sind ein Thema, das an Komplexität zunehmen kann, da es viele verschiedene Arten von Joins gibt, die Sie verwenden können, um schickere Dinge mit mehreren Tabellen zu machen, aber hier ist das grundlegendste Beispiel.