欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql垂直合并兩張表

錢衛國1年前8瀏覽0評論

MySQL 是一種開源的關系型數據庫管理系統,廣泛應用于 Web 應用程序的開發和數據存儲。在數據庫應用中,經常需要合并不同表中的數據,以便更好地進行業務統計和分析。本文將簡單介紹如何使用 MySQL 垂直合并兩張表。

垂直合并是指將兩張表按照某個共同的列連接在一起,將它們的非重復列合并成一個新表。在 MySQL 中,可以使用 UNION 或 UNION ALL 關鍵字實現垂直合并。

-- 創建兩個測試表
CREATE TABLE table1 (
id INT(11) PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20),
age INT(11)
);
CREATE TABLE table2 (
id INT(11) PRIMARY KEY AUTO_INCREMENT,
address VARCHAR(50),
phone VARCHAR(20)
);
-- 插入測試數據
INSERT INTO table1 (name, age) VALUES ('Tom', 18), ('Jack', 20), ('Lucy', 22);
INSERT INTO table2 (address, phone) VALUES ('Beijing', '123456'), ('Shanghai', '789012'), ('Guangzhou', '345678');
-- 使用 UNION 實現垂直合并
SELECT id, name, age, null as address, null as phone FROM table1
UNION
SELECT id, null as name, null as age, address, phone FROM table2;
-- 使用 UNION ALL 實現垂直合并
SELECT id, name, age, null as address, null as phone FROM table1
UNION ALL
SELECT id, null as name, null as age, address, phone FROM table2;

通過以上代碼,我們可以看到,使用 UNION 關鍵字可以將兩張表中的記錄合并在一起,但會去掉重復數據。而 UNION ALL 關鍵字則可以將兩張表中所有的記錄合并在一起,并保留重復數據。

注意,在使用 UNION 或 UNION ALL 進行垂直合并時,需要保證兩張表中要合并的列的類型和個數是匹配的。