连接2个表时 使用 ”,” 与使用 join的区别
比如2个表 table1,table2
都有一个字段 name第一种写法:
Select *
From table1,table2
Where table1.[name] = table2.[name]第二种写法:
Select *
From table1 inner join table2
on table1.[name] = table2.[name]两种有何区别?
我经常见到有的教材上面这么写,但是从来没有人来解释是为什么?
在我自己理解和试验来看,两者没有什么区别。我的理解是否正确?
比如2个表 table1,table2
都有一个字段 name第一种写法:
Select *
From table1,table2
Where table1.[name] = table2.[name]第二种写法:
Select *
From table1 inner join table2
on table1.[name] = table2.[name]两种有何区别?
我经常见到有的教材上面这么写,但是从来没有人来解释是为什么?
在我自己理解和试验来看,两者没有什么区别。我的理解是否正确?
Select *
From table1,table2
Where table1.[name] = table2.[name]
--如果没有条件table1.[name] = table2.[name],就是cross join第二种写法:
Select *
From table1 inner join table2
on table1.[name] = table2.[name] --inner join 后面必须加on
如果都有条件,2个基本相等