在MySQL中,可以使用UNION
操作符來實(shí)現(xiàn)并集,使用INTERSECT
操作符來實(shí)現(xiàn)交集。
SELECT column1, column2, ... FROM table1
UNION
SELECT column1, column2, ... FROM table2;
上述語句會(huì)將table1
和table2
兩個(gè)表的數(shù)據(jù)合并為一個(gè)結(jié)果集,去除重復(fù)的行。
MySQL中沒有內(nèi)置的INTERSECT
操作符,但可以使用INNER JOIN
來實(shí)現(xiàn)交集的效果:
SELECT column1, column2, ... FROM table1
INNER JOIN table2 ON table1.column = table2.column;
上述語句會(huì)返回table1
和table2
兩個(gè)表中列column
相等的行,得到的結(jié)果即為交集。
需要注意的是,UNION
操作符和INTERSECT
操作符都會(huì)自動(dòng)去除重復(fù)的行,如果需要保留重復(fù)的行,可以使用UNION ALL
操作符和INNER JOIN
的ON
條件。