Mysql
使用兩個表的鍵加入
我嘗試以類似連接的方式將桌子放在一起。將列
id_
視為“on 子句”鍵。在下表中,表 1 中的 id_s 比表 2 多。我想要兩個表的所有 id 和值。如果沒有相應id_
的 ,則值為 0 或 null。CREATE TABLE IF NOT EXISTS t1 ( id_ INTEGER NOT NULL, value1 INT NOT NULL ) CREATE TABLE IF NOT EXISTS t2 ( id_ INTEGER NOT NULL, value2 INT NOT NULL ) INSERT INTO t1 (id_, value1) VALUES (1, 10), (2, 20), (3, 30) INSERT INTO t2 (id_, value2) VALUES (2, 40), (3, 60) (4, 80)
我使用平台 Metabase,一個 BI 工具。
在 MySQL(不支持 FULL JOIN)中,您必須使用收集子查詢:
SELECT id_, t1.value1, t2.value2 FROM ( SELECT id_ FROM t1 UNION SELECT id_ FROM t2 ) total LEFT JOIN t1 USING (id_) LEFT JOIN t2 USING (id_);