sql >> Database teknologi >  >> RDS >> Mysql

Sammenføjning af borde med fremmednøgler

Forudsat at du bare vil samle alting, som tasterne antyder...

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

Men lad os sige, at du har dette scenarie.

CREATE TABLE Table1 (
    Table1ID NUMBER, 
    Generation NUMBER, 
    ... 
);

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

Lad os for argumentets skyld sige, at Tabel1 kan have flere poster med samme Tabel1ID, og ​​Generation bruges som en sekundær nøgle. Og du skal tilslutte en Table2-record til den korrekte single Tabel 1 rekord. Du kan udvide ON klausul på samme måde som du ville udvide en WHERE klausul.

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


  1. Sådan normaliseres Data Mining Min Max fra Mysql i Python

  2. Kalendertabeller i PostgreSQL 9

  3. Hvordan indsætter man billeder fra databasen?

  4. Hvordan COALESCE() virker i MariaDB