在MySQL中,全連接(full join)是一種查詢兩個表的方式,它會將左表和右表中的所有行都連接起來,即使其中一張表中沒有匹配的行,也不會忽略這張表。
假設(shè)有兩張表:table1和table2,它們的結(jié)構(gòu)分別如下:
CREATE TABLE table1 ( id INT PRIMARY KEY, name VARCHAR(20) ); CREATE TABLE table2 ( id INT PRIMARY KEY, age INT );
現(xiàn)在我們需要查詢這兩張表中的所有數(shù)據(jù)。我們可以使用以下SQL語句:
SELECT * FROM table1 FULL JOIN table2 ON table1.id = table2.id;
在這個語句中,我們使用了“*”通配符,表示查詢這兩張表中的所有列。這里用到了FULL JOIN關(guān)鍵字,表示我們需要執(zhí)行全連接操作。ON關(guān)鍵字后面的語句表示我們需要根據(jù)id列進(jìn)行連接。執(zhí)行這個語句后,我們可以得到以下結(jié)果:
id name id age 1 Alice 1 20 2 Bob NULL NULL NULL NULL 2 30 3 Charlie NULL NULL
我們可以看到,所有的行都被連接了起來。其中,id為1和2的行在兩張表中都存在,它們被正確地匹配了起來。id為3的行在table1中存在,但在table2中不存在,因此它的age列被置為了NULL。name為Bob的行在table1中不存在,但在table2中存在,因此它的所有列都被置為了NULL。