[table1.column1 = table2.column1]和[table1.column1 = 1 AND table2.column1 = 1]之间的区别

时间:2015-11-30 11:23:04

标签: mysql

我不知道这些陈述是否有任何条款: 我有table1和table2

表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

我知道他们都会返回相同的结果。

使用它们中的任何一个是否有任何不同或根本不重要?

2 个答案:

答案 0 :(得分:0)

是的,有差异。 First Statement在设置table1.link_id=1 and table2.id=1

时只返回一行

第二个语句将返回table1中具有link_id值的每一行,类似于id值table2

答案 1 :(得分:0)

link_id=table2.id选择表格的所有数据,其中两个coloumn相同。但是WHERE table1.link_id =1 and table2.id=1选择数据,其中link_id为1,id为1 ....两者都不同

但是USE 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