2015-11-30 70 views
-1

我不知道這些語句是否有任何條件: 我有table1和table2[table1.column1 = table2.column1]和[table1.column1 = 1 AND table2.column1 = 1]之間的區別

表1

id link_id 
1  1 
1  2 
1  3 

table2 

id link_url 
1  www.a 
2  www.b 
3  www.c 

和兩個不同的MySQL聲明:

SELECT table1.id as id, table2.link_url as link_url FROM table1, table2 WHERE table1.link_id =1 and table2.id=1 

SELECT table1.id as id, table2.link_url as link_url FROM table1, table2 WHERE table1.link_id=table2.id 

據我所知,他們都返回相同的結果。

使用它們中的任何一個還是沒有區別?

+1

許多。一個是另一個的子集。 – fedorqui

回答

0

是的,有差異。 首先語句只返回一個爲您設置table1.link_id=1 and table2.id=1

第二條語句將返回所有的這些都在表1類似的值id表2

0

link_id=table2.id link_id值選擇其中兩個coloumn相同的表的所有數據鱗次櫛比。但WHERE table1.link_id =1 and table2.id=1選擇數據,其中link_id爲1,ID爲1 ....都是不同勢

但在使用JOIN是不錯的選擇: -

SELECT table1.id as id, table2.link_url as link_url 
FROM table1 join table2 
on table1.link_id=table2.id 
WHERE table1.link_id =1 
相關問題