sql >> Databasteknik >  >> RDS >> Database

SQL ansluter

Joins är ett mycket kraftfullt verktyg. Kommer du ihåg relationalgebra från databasens intromodul?

Joins är tillämpad relationalgebra .

Anta att du har 2 tabeller, people och 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
);

Vi lägger till några 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');

Säg nu att vi vill korrelera de två tabellerna, eftersom polisen stoppade Roger att köra, ser ung ut och vill veta hans ålder från deras databas.

Roger är min hund, men låt oss anta att hundar kan köra bil.

Vi kan skapa en join med denna syntax:

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

Vi får tillbaka det här resultatet:

 age 
-----
   8

Vad händer? Vi sammanfogar de två bordsbilarna i två specifika kolumner:name från people tabell och owner från cars bord.

Joins är ett ämne som kan växa i komplexitet eftersom det finns många olika typer av sammanfogningar som du kan använda för att göra snyggare saker med flera bord, men här är det mest grundläggande exemplet.


  1. PGError:ERROR:behörighet nekad för relation (när du använder Heroku)

  2. Oracle till PostgreSQL — Markörer och vanliga tabelluttryck

  3. skriva ut ett värde för en variabel i postgresql

  4. Hur man exporterar data från SQL Server 2005 till MySQL