在mysql中,我們可能需要把兩張表的相關(guān)數(shù)據(jù)合并起來進(jìn)行查詢操作,這時候就可以使用“聯(lián)合查詢”(UNION)的方式來實現(xiàn)。
首先,我們需要創(chuàng)建兩張表并插入一些數(shù)據(jù),以便我們進(jìn)行測試:
CREATE TABLE table1 ( id INT PRIMARY KEY, name VARCHAR(20) ); CREATE TABLE table2 ( id INT PRIMARY KEY, age INT ); INSERT INTO table1 VALUES (1, 'John'); INSERT INTO table1 VALUES (2, 'Lucy'); INSERT INTO table2 VALUES (1, 22); INSERT INTO table2 VALUES (2, 18);
接下來,我們可以使用聯(lián)合查詢的方式將兩張表的數(shù)據(jù)合并起來,代碼如下:
SELECT id, name, NULL AS age FROM table1 UNION SELECT id, NULL AS name, age FROM table2 ORDER BY id;
上述代碼的意思是:先從table1表中查詢id和name字段,并在age字段的位置使用NULL占位符;然后將查詢結(jié)果與從table2表中查詢出的id和age字段合并,并在name字段的位置使用NULL占位符;最后按照id字段進(jìn)行排序。
執(zhí)行上述代碼后,我們將得到以下查詢結(jié)果:
+----+------+------+ | id | name | age | +----+------+------+ | 1 | John | NULL | | 2 | Lucy | NULL | | 1 | NULL | 22 | | 2 | NULL | 18 | +----+------+------+
可以看到,我們已經(jīng)成功將兩張表的數(shù)據(jù)進(jìn)行了合并,并且在每個字段位置使用了NULL占位符,從而得到了完整的查詢結(jié)果。