Det ser ud til, at du har brug for FULD YDRE JOIN
og udelukke fælles del. Du kan simulere det med:
VÆLG T1.col_nameFRA T1 VENSTRE JOIN T2 PÅ T1.col_name =T2.col_name HVOR T2.col_name ER NULLUNIONSELECT T2.col_nameFRA T2 LEFT JOIN T1 PÅ T1.col_name =T2.col_nameWHERE IS T1.col_name;
╔══════════╗║ col_name ║╠════════════════╗║ col_name ║╠══════════════╣║ C ║║ ═════════╝
Mere info:Visuel repræsentation af SQL-joins
VÆLG FRA Tabel_A AFULD YDRE JOIN Table_B BON A.Key =B.KeyWHERE A.Key IS NULL OR B.Key IS NULL
Desværre MySQL
understøtter ikke FULD YDRE JOIN
så jeg brugte forening af 2 LEFT JOIN
.
Tillæg
Du kan nemt udvide det med yderligere kolonner.
VÆLG 'T1' AS tab_name, T1.col_name, T1.col1, NULL AS col2FROM T1LEFT JOIN T2 ON T1.col_name=T2.col_nameWHERE T2.col_name IS NULLUNIONSELECT 'T2' AS tab_name, T2.col_name, NULL, T2.col2FROM T2LEFT JOIN T1 ON T1.col_name=T2.col_name WHERE T1.col_name ER NULL;
Output:
╔══════════╦══════════╦═════════╦══════════╦══════════════════════ ═══════╗║ tab_name ║ col_name ║ col1 ║ col2 ║╠══════════╬══════════╬══════╬═══ ══════════════════╣║ T1 ║ C ║ 3 ║ ║║ T1 ║ ║ 0 2 00 ║║ T2 ║ F ║ ║ 2016-01-02 00:00:00 ║║ T2 ║ G ║ ║ 2016-01-01 00:00:00 ║═══════════ kode