在使用MySQL進(jìn)行數(shù)據(jù)管理和處理的過(guò)程中,有時(shí)會(huì)需要將不同的表合并成一個(gè)表。這時(shí)候可以通過(guò)聯(lián)結(jié)查詢來(lái)實(shí)現(xiàn)。
假設(shè)有以下三個(gè)表:
CREATE TABLE table1 ( id INT PRIMARY KEY, name VARCHAR(20) ); CREATE TABLE table2 ( id INT PRIMARY KEY, age INT ); CREATE TABLE table3 ( id INT PRIMARY KEY, address VARCHAR(50) );
我們可以通過(guò)聯(lián)結(jié)查詢將它們合并成一個(gè)表:
SELECT table1.id, table1.name, table2.age, table3.address FROM table1 LEFT JOIN table2 ON table1.id = table2.id LEFT JOIN table3 ON table1.id = table3.id;
該查詢語(yǔ)句中,使用了左聯(lián)結(jié)查詢(LEFT JOIN),將table2和table3表和table1表進(jìn)行連接。
當(dāng)然,如果想將三個(gè)表數(shù)據(jù)合并后存儲(chǔ)為一個(gè)新的表,也可以使用CREATE TABLE ... SELECT 語(yǔ)句實(shí)現(xiàn):
CREATE TABLE merged_table AS SELECT table1.id, table1.name, table2.age, table3.address FROM table1 LEFT JOIN table2 ON table1.id = table2.id LEFT JOIN table3 ON table1.id = table3.id;
這樣就可以將合并后的結(jié)果存儲(chǔ)到新表merged_table中了。