MySQL中聯合查詢指的是將兩個或多個SELECT語句的結果集合并成一個結果集的操作。
聯合查詢的語法如下:
SELECT column_name(s) FROM table_name1 UNION [ALL | DISTINCT] SELECT column_name(s) FROM table_name2;
其中,table_name1和table_name2是要查詢的表名,column_name(s)是要查詢的列名,使用UNION關鍵字將兩個SELECT語句的結果集合并,ALL和DISTINCT是用來指定是否去除重復行。
舉個例子,假設我們有兩張表student和teacher:
student表: id name age 1 Alice 18 2 Bob 20 3 Charlie 19 teacher表: id name subject 1 David Math 2 Emma English 3 Frank Science
現在我們想要查詢學生和老師的姓名,可以使用以下聯合查詢語句:
SELECT name FROM student UNION SELECT name FROM teacher;
其結果為:
name ----- Alice Bob Charlie David Emma Frank
可以看到,兩個表的結果集被合并成了一個結果集,并去除了重復行。