我有兩個表具有相同的列。通過合併兩個表與聯合創建新表
我可以UNION
select * from table1
union
select * from table2;
合併它們如何創建具有相同的內容和列作爲查詢的新表?
我有兩個表具有相同的列。通過合併兩個表與聯合創建新表
我可以UNION
select * from table1
union
select * from table2;
合併它們如何創建具有相同的內容和列作爲查詢的新表?
您可以使用CREATE TABLE ... SELECT聲明。
CREATE TABLE new_table
SELECT * FROM table1
UNION
SELECT * FROM table2;
create table new_table as
select col1, col2 from table1
union
select col1, col2 from table2
務必從表中選擇的工會同組列。
如果您嘗試在括號中包裝聯合查詢,mysql將引發錯誤。如@ devart的回答所暗示的,省略括號對我來說是個訣竅 – s2t2 2013-07-19 20:58:07
甚至你可以明確地定義創建表(我們通常在我們的項目中使用)。
CREATE TABLE IF NOT EXISTS審計日誌(
USER_ID VARCHAR(30)NOT NULL默認 '',
user_ip VARCHAR(255)NOT NULL默認 '',
..... ... ........
KEY IE1(USER_ID))
工會=(auditlog_2,auditlog_3,auditlog_4)引擎=合併INSERT_METHOD =最後;
是它的工作我不知道我爲什麼tryng CREATE TABLE new_table( SELECT * FROM table1 UNION SELECT * FROM table2); – 2012-02-15 11:31:16
是的,沒有括號它的工作! – netluke 2017-08-29 12:35:29