2

我已经table1并且table2需要从他们每个人那里获取数据。

表格1

"id"    "name"      "description"
"1"     "Windows"   "Microsoft Windows 8"

表2

"id" "type" "name"              "description"
"1"  "22"   "Microsoft Windows" "Microsoft Windows 8 Home"
"2"  "2"    "Not an Edit"       "Not an Edit"

我做这样的选择

select table1.name, table1.description, 
table2.name, table2.description 
from table1,table2 
where table2.id=table1.id and table2.`type`=22;

一次选择大约 500 多行时,使用内部联接会更快或更有效吗?

我见过大多数使用内部连接来执行此操作的示例。

4

3 回答 3

5

没有区别,只是语法不同,内部它们产生相同的执行计划:

ANSI 与非 ANSI SQL JOIN 语法

于 2013-07-02T16:30:05.623 回答
2

你可以这样做..

select table1.name, table1.description, 
table2.name, table2.description 
from table1 inner join Table2 on  table2.id=table1.id and table2.`type`=22
于 2013-07-02T16:25:14.807 回答
2

这是没有加入的正确答案

select t1.*,t2.* from t1,t2 where t1.id=t2.id;
于 2017-01-27T05:40:24.093 回答