FULL JOIN 查詢取並集

2021-07-10 17:13:15 字數 982 閱讀 8152

現在,我們希望列出所有的人,以及他們的定單,以及所有的定單,以及定購它們的人。

您可以使用下面的 select 語句:

select persons.lastname, persons.firstname, orders.orderno

from persons

full join orders

on persons.id_p=orders.id_p

order by persons.lastname

結果集:

lastname

firstname

orderno

adams

john

22456

adams

john

24562

carter

thomas

77895

carter

thomas

44678

bush

george

34764

full join 關鍵字會從左表 (persons) 和右表 (orders) 那裡返回所有的行。如果 "persons" 中的行在表 "orders" 中沒有匹配,或者如果 "orders" 中的行在表 "persons" 中沒有匹配,這些行同樣會列出。

mysql full join的實現 因為mysql不支援full join,下面是替代方法

left join + union(可去除重複資料)+ right join

select

*from

aleft

joinbon

a.id=b

.id (where 條件)

union

select

*from

aright

joinbon

a.id =b

.id (where條件);

Postgresql取並集,交集,差集

關鍵字union 例子 query1 union query2 關鍵字intersect 例子 query1 intersect query2 關鍵字except 例子 query1 except query2 其中query1和query2的select子句中欄位個數必須相同,且對應的資料型別必須...

陣列取交集 並集與補集

交集 集合論中,設a,b是兩個集合,由所有屬於集合a且屬於集合b的元素所組成的集合,叫做集合a與集合b的交集 intersection 記作a b。並集給定兩個集合a,b,把他們所有的元素合併在一起組成的集合,叫做集合a與集合b的並集,記作a b,讀作a並b。補集一般指絕對補集,即一般地,設s是乙個...

JS陣列取交集 並集

如果陣列中僅是字串和數值 var a 1 2,3 b 2 3,4 5 交集 2,3 var intersection a.filter item b.indexof item 1 並集 1,2,3,4,5 var union a.concat b.filter item a.indexof item...