Database
 sql >> база данни >  >> RDS >> Database

SQL присъединявания

Съединенията са много мощен инструмент. Помните ли релационна алгебра от интро модула на базата данни?

Съединенията са приложна релационна алгебра .

Да предположим, че имате 2 маси, people и 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
);

Добавяме някои данни:

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

Сега кажете, че искаме да съпоставим двете таблици, защото полицията спря Роджър да шофира, изглежда млад и иска да разбере възрастта му от тяхната база данни.

Роджър е моето куче, но да предположим, че кучетата могат да карат коли.

Можем да създадем присъединяване с този синтаксис:

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

Ще върнем този резултат:

 age 
-----
   8

Какво се случва? Обединяваме двете маси cars в две конкретни колони:name от people таблица и owner от cars таблица.

Съединенията са тема, която може да се усложни, тъй като има много различни видове обединения, които можете да използвате, за да правите по-фантастични неща с множество таблици, но ето най-основният пример.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trace Flag 2389 и новият оценител на мощността

  2. Генериране на набор или последователност без цикли – част 1

  3. SQL ПОРЪЧАЙ ПО:5-те правила, които не трябва да се правят за сортиране на данни като професионалист

  4. Донесете свой собствен облак (BYOC) срещу Специализиран хостинг в ScaleGrid

  5. Избягвайте самозаблудата на HA/DR разтвор