Database
 sql >> Base de données >  >> RDS >> Database

Jointures SQL

Les jointures sont un outil très puissant. Vous souvenez-vous de l'algèbre relationnelle du module d'introduction à la base de données ?

Les jointures sont de l'algèbre relationnelle appliquée .

Supposons que vous ayez 2 tables, people et 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
);

Nous ajoutons quelques données :

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

Supposons maintenant que nous voulions corréler les deux tableaux, car la police a arrêté Roger au volant, a l'air jeune et veut connaître son âge à partir de leur base de données.

Roger est mon chien, mais supposons que les chiens puissent conduire des voitures.

Nous pouvons créer une jointure avec cette syntaxe :

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

Nous allons récupérer ce résultat :

 age 
-----
   8

Qu'est-ce qui se passe? On joint les deux tables cars sur deux colonnes spécifiques :name des people table et owner des cars tableau.

Les jointures sont un sujet qui peut gagner en complexité car il existe de nombreux types de jointures que vous pouvez utiliser pour faire des choses plus sophistiquées avec plusieurs tables, mais voici l'exemple le plus basique.