Join

理論 - 給定 2 個表,是否可以在連接後計算結果數據集的大小?

  • June 22, 2021

這可能不是最合適的交換,所以我提前道歉。

在 SQL 開發人員角色的面試準備會議期間,我被提出了這個問題,但沒有得到解決方案。問題如下:

給定 2 個表(Table ATable B),它們分別具有相同的主鍵和大小(行)NM是否可以使用以下方法計算結果表/數據集的大小:

  1. Inner Join
  2. Left Join
  3. Full Join

我真的被這個問題難住了,正如我所說的那樣,我沒有得到解決方案。我的一部分認為,甚至可能沒有固定的解決方案。如果有人有任何指示或解決方案,我很想听聽。

如果“使用相同的主鍵”意味著“自動增量以相同的值 (1) 開始,沒有間隙”,並且如果連接表達式是這些 PK 相等,那麼答案是:

  1. LEAST(m,n)

內部連接將過濾兩個表中都存在的值的記錄。

  1. n

左連接將tableA獨立於tableB內容返回所有記錄。所以tableB內容不能影響結果。

  1. GREATEST(m,n)

全外連接將返回至少存在於一個表中的值的記錄。

小提琴

引用自:https://dba.stackexchange.com/questions/255916