Join
理論 - 給定 2 個表,是否可以在連接後計算結果數據集的大小?
這可能不是最合適的交換,所以我提前道歉。
在 SQL 開發人員角色的面試準備會議期間,我被提出了這個問題,但沒有得到解決方案。問題如下:
給定 2 個表(
Table A
和Table B
),它們分別具有相同的主鍵和大小(行)N
,M
是否可以使用以下方法計算結果表/數據集的大小:
Inner Join
Left Join
Full Join
我真的被這個問題難住了,正如我所說的那樣,我沒有得到解決方案。我的一部分認為,甚至可能沒有固定的解決方案。如果有人有任何指示或解決方案,我很想听聽。
如果“使用相同的主鍵”意味著“自動增量以相同的值 (1) 開始,沒有間隙”,並且如果連接表達式是這些 PK 相等,那麼答案是:
LEAST(m,n)
內部連接將過濾兩個表中都存在的值的記錄。
n
左連接將
tableA
獨立於tableB
內容返回所有記錄。所以tableB
內容不能影響結果。
GREATEST(m,n)
全外連接將返回至少存在於一個表中的值的記錄。