sql >> Database teknologi >  >> RDS >> Database

SQL joins

Joins er et meget kraftfuldt værktøj. Husker du relationel algebra fra databaseintromodulet?

Joins er anvendt relationel algebra .

Antag at du har 2 tabeller, people og 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 tilføjer nogle 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');

Sig nu, at vi ønsker at korrelere de to tabeller, fordi politiet stoppede Roger med at køre, ser ung ud og vil vide hans alder fra deres database.

Roger er min hund, men lad os antage, at hunde kan køre bil.

Vi kan oprette et join med denne syntaks:

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

Vi får dette resultat tilbage:

 age 
-----
   8

Hvad sker der? Vi samler de to bordbiler i to specifikke kolonner:name fra people tabel og owner fra cars tabel.

Joins er et emne, der kan vokse i kompleksitet, fordi der er mange forskellige slags joins, som du kan bruge til at lave mere avancerede ting med flere borde, men her er det mest grundlæggende eksempel.


  1. Indsætte hele DataTable i databasen på én gang i stedet for række for række?

  2. Hvad betyder select count(1) fra table_name på alle databasetabeller?

  3. Kompatibilitetsniveauer og Cardinality Estimation Primer

  4. 7645 Nul eller tomt fuldtekstprædikat