sql >> Database >  >> RDS >> Database

SQL-joins

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.


  1. SQLSTATE [HY093]:Ongeldig parameternummer:parameter is niet gedefinieerd

  2. Een uitvoeringsplan genereren in SQL Server

  3. Hoe een id uit de database te halen bij het klikken op een lijstweergave-item in Android

  4. Hoe zorgen dat gegevens niet worden gesorteerd?