sql >> Databáze >  >> RDS >> Database

SQL se připojí

Spojení jsou velmi mocným nástrojem. Pamatujete si relační algebru z úvodního modulu databáze?

Spoje jsou aplikovaná relační algebra .

Předpokládejme, že máte 2 stoly, people a 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
);

Přidáváme některá 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');

Nyní řekněme, že chceme tyto dvě tabulky porovnat, protože policie zastavila Rogera řídit, vypadá mladě a chce znát jeho věk ze své databáze.

Roger je můj pes, ale předpokládejme, že psi umí řídit auta.

Můžeme vytvořit připojení s touto syntaxí:

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

Tento výsledek získáme zpět:

 age 
-----
   8

Co se děje? Spojujeme dva tabulkové vozy ve dvou specifických sloupcích:name od people tabulka a owner z cars tabulka.

Spojení je téma, které může narůstat ve složitosti, protože existuje mnoho různých druhů spojení, které můžete použít k tomu, abyste dělali šikovnější věci s více stoly, ale zde je nejzákladnější příklad.


  1. sqlplus, jak najít podrobnosti o aktuálně připojené databázové relaci

  2. ZKONTROLUJTE Omezení na serveru SQL Server

  3. Začínáme s ProxySQL – Výukový program pro vyrovnávání zátěže MySQL a MariaDB

  4. Oracle DB:Jak mohu napsat dotaz bez ohledu na velikost písmen?