【发布时间】:2011-12-05 09:11:25
【问题描述】:
可能重复:
Is it better to do an equi join in the from clause or where clause
我是 SQL 的菜鸟,我有 2 个查询:
SELECT
A.COLUMN1,B.COLUMN2, C.COLUMN3
FROM
TB_ITEM A,
TB_ITEM_CAT B,
TB_ITEM_SUBCAT C
WHERE
A.COLUMN1 = B.COLUMN1
AND A.COLUMN1 = c.COLUMN1
和
SELECT
A.COLUMN1,B.COLUMN2, C.COLUMN3
FROM
TB_ITEM A
INNER JOIN TB_ITEM_CAT B on A.COLUMN1 = B.COLUMN1
INNER JOIN TB_ITEM_SUBCAT C on A.COLUMN1 = C.COLUMN1
在第一个查询中,我们没有 INNER JOINS,并从 3 个表中选择。 在第二个中,我们使用 INNER JOINS 进行相同的查询,并从 3 个表中进行选择。
它们应该显示相同的结果吗? 这些查询之间有什么区别?
【问题讨论】:
-
ANSI-89 与 ANSI-92。性能上没有区别。见Explicit vs implicit SQL joins
-
您看到结果有什么不同吗?我希望它们是相同的。这个问题与 stackoverflow.com/questions/7686190/… 非常相似,尽管它特别关注 MySQL 的性能。
标签: sql sql-server