2013-04-26 148 views
0

我有兩個表名Table 1Table 2。這兩個表都包含一個名爲address的列。 Table 1包含約1200條記錄,而Table 2還有另外100萬條商店記錄。SQL查詢獲得表A和表B中的記錄數

現在,我想要做的是找到Table 1中的記錄數,其中有一個匹配地址的行也存在於Table 2中。

我是新來的SQL - 有誰可以請告訴我如何獲得上述行數?

回答

1

Select Count(*) from Table1 Where address in (select address from Table2)

+0

我還是會建議在這種情況下加入。這就是他們的目的,並且通常比子選擇快得多。 – luksch 2013-04-26 13:11:05

3
select count(*) from Table1 
INNER JOIN Table2 on Table1.address = Table2.address 
0

您需要一個JOIN。喜歡的東西

SELECT COUNT(*) FROM table2 INNER JOIN table1 ON table2.address = table1.address; 

注: 如果這是一個頻繁的查詢,你應該把索引在地址欄兩表所示。

0

試試這個

SELECT COIUNT(*) FRO Table1 WHERE address IN(SELECT address from table2) 
+0

爲什麼它會起作用的解釋將使它更多的是一個答案... – 2013-04-26 11:58:22

相關問題