0
Table1 | Table2
S1 | S3
S2 | S3
S3 | S9
S4 | S2
| S5
我有一列這兩個表。我想得到他們與重複值的交集。即我想交集的結果是(S2,S3,S3)
。SQL查詢來獲取重複的共同價值觀
如何使用SQL oracle查詢得到這個結果?
我對此很新穎。謝謝!
Table1 | Table2
S1 | S3
S2 | S3
S3 | S9
S4 | S2
| S5
我有一列這兩個表。我想得到他們與重複值的交集。即我想交集的結果是(S2,S3,S3)
。SQL查詢來獲取重複的共同價值觀
如何使用SQL oracle查詢得到這個結果?
我對此很新穎。謝謝!
select table2.column2
from table2
join table1 on table2.column2 = table1.column1
order by table2.column2
或替代,可能更容易理解,但不太高性能(是一個真正的詞?):
select table2.column2
from table2
where column2 in (select column1 from table1)
order by table2.column2
這兩個查詢不相當相同:
要使用的一個取決於哪個更適合你(即什麼是「重複值」是指完全一致)
我要指出的是,根據您的實際數據,這兩個查詢可能會產生不同的結果。我懷疑第一個查詢會產生你想要的結果(假設我理解正確),第二個查詢可能產生所需的結果。 – sgeddes
@sgeddes好點 - 它們不完全相同 - 我已經記錄了答案中的差異。很難知道什麼是想要的,什麼「重複」*實際上*意味着在問題中缺少足夠的信息。這取決於如果第一個表只有唯一的值(我的錢是在第二個查詢) – Bohemian
我試着用第二個查詢(更容易理解,如你所說),它適用於我。謝謝 ! – Margi