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

外部キーを使用したテーブルの結合

    キーが示唆するように、すべてを結合したいとします...

    SELECT *
    FROM table1
    INNER JOIN table3 on table3.table1ID = table1.table1ID
    INNER JOIN MEM_INSTR on MEM_INSTR.table2ID = table3.table2ID
    

    しかし、あなたがこのシナリオを持っているとしましょう。

    CREATE TABLE Table1 (
        Table1ID NUMBER, 
        Generation NUMBER, 
        ... 
    );
    
    CREATE TABLE Table2 (
        Table2ID NUMBER, 
        Table1ID NUMBER, 
        Table1Generation NUMBER, 
        ...
    );
    

    議論のために、Table1が同じTable1IDを持つ複数のレコードを持つことができ、Generationが2次キーとして使用されるとしましょう。そして、Table2レコードを正しいシングルに結合する必要があります 表1レコード。 ONを展開できます WHEREを展開するのと同じ方法で句を指定します 条項。

    SELECT *
    FROM table1 t1
    INNER JOIN table2 t2 
        ON t2.table1id = t1.table1id 
        AND t2.table1generation = t1.generation
    


    1. SQLServerでのDateTimeのYYYY-MM-DD形式への変換

    2. PostgreSQL拡張機能であるpgFincore1.2

    3. MariaDBでのUUID()のしくみ

    4. OracleのBFILE列からBLOBを取得する