SQL結合

2つのデータベーステーブル間で単純な結合を実行する方法

結合は非常に強力なツールです。データベースイントロモジュールの関係代数を覚えていますか?

結合は適用された関係代数

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

ここで、警察がロジャーの運転を停止し、若く見え、データベースから彼の年齢を知りたいので、2つのテーブルを相関させたいとしましょう。

ロジャーは私の犬ですが、犬が車を運転できるとしましょう。

作成できます参加するこの構文で:

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

この結果が返されます。

 age 
-----
   8

What is happening? We are joining the two tables cars on two specific columns: name from the people table, and owner from the cars table.

Joins are a topic that can grow in complexity because there are many different kind of joins that you can use to do fancier things with multiple tables, but here is the most basic example.


More database tutorials: