2015-11-30 3 views
-1

Я не знаю, есть ли условия для этих утверждений: У меня есть table1 и table2разница между [table1.column1 = table2.column1] и [table1.column1 = 1 И table2.column1 = 1]

Table1

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

Второе заявление будет Возвращайтесь каждую строку, которые LINK_ID значение в table1 похож на значение идентификатора table2

0

link_id=table2.id выбрать все данные вашей таблицы, где оба coloumn одинаковы. Но WHERE table1.link_id =1 and table2.id=1 выбирать данные, где link_id является 1 и идентификатор 1 .... оба diffrent

Но USE РЕГИСТРИРУЙТЕСЬ хороший вариант: -

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 
Смежные вопросы