2013-04-10 131 views
-1

假設MySQL的工作,我們有2臺在內部聯接查詢

表1:

column 
------ 
A 
B 

和表2:

column 
------ 
B 
C 
D 

現在假設我運行這兩個表一個JOIN命令。運行JOIN查詢時,mysql內部會發生什麼? MySQL是否會像這樣創建一個虛擬表?

A|B 
A|C 
A|D 
B|B 
B|C 
B|D 
+0

什麼是你的查詢?我的猜測是你忘了'WHERE'或'ON' – 2013-04-10 21:26:33

+0

不管什麼是條件,好的,首先,mysql必須創建連接的虛擬表嗎?然後根據條件從該表中檢索結果,我問:虛擬表看起來如何? – RIKI 2013-04-10 21:33:07

回答

2

當你創建表的兩間JOIN無任何加盟參數時,MySQL需要在發言看看第一個表。

它在您的案例'A'中獲取值,然後將第二個表中的每個值與它對齊。完成後,它返回到第一個表中,下一個值(在您的案例'B'中)被提取,並且第二個表中的每個值都與其匹配。

一類的圖形說明:

enter image description here