sql >> データベース >  >> RDS >> Database

SQL結合

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

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

    peopleという2つのテーブルがあるとします。 および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

    何が起こっている? nameという2つの特定の列で2つのテーブルカーを結合しています。 peopleから テーブル、およびowner carsから テーブル。

    結合は、複数のテーブルでより洗練された処理を行うために使用できるさまざまな種類の結合があるため、複雑さが増す可能性のあるトピックですが、これが最も基本的な例です。


    1. HibernateのScrollableResultsを使用して9千万件のレコードをゆっくりと読み取る

    2. 選択した結果を挿入スクリプトに変換する-SQLServer

    3. MySQLの順序付け前にグループ化

    4. 指定された名前と引数のタイプに一致する関数はありません