回覆列表
-
1 # 使用者2562339713923
-
2 # 我是阿嘛
是要同時查出兩個表所有的記錄,還是這個欄位相同的記錄?
1.同時查出兩個表所有的記錄:
select 欄位
from table1
union
select 欄位
from table2
2.這個欄位相同的記錄
select *
from table1,table2
where table1.欄位 = table2.欄位
SQL語句如下: SELECT * from TABLE1 full join TABLE2 on TABLE1.xingming = TABLE2.xingming where TABLE1.xingming is null or TABLE2.xingming is null 分析: 1、首先得出兩個表的並集 注:full join :存在匹配,匹配顯示;同時,將各個表中不匹配的資料與空資料行匹配進行顯示。可以看成是左外連線與右外連線的並集。 圖中結果左側兩列為TABLE1,右側兩列為TABLE2。 前三條記錄表示TABLE1和TABLE2都有的資料。 TABLE1項為NULL的記錄說明TABLE2中無相同項。 同理,TABLE2項為NULL的記錄說明TABLE1中無相同項。 下面,只需要設定篩選條件,過濾出所需記錄。 2、設定過濾條件,得到結果 從結果中可以看出,表1中的趙二在表2中沒有相同xingming的記錄。 表2中的劉六在表1中沒有相同xingming的記錄。 本題還有其它多種解法,此處列出比較好理解的一種。