可能重复:
SQL JOIN: is there a difference between USING, ON or WHERE?SQL查询优化
考虑一下,如果我有一个名为A和B两个表,一个有2万行和B只有100行,当我使用这些SELECT
声明,我需要知道这两个区别
SELECT A.C1, B.C1
FROM A, B
WHERE A.C1 = B.C2
第二个是
SELECT A.C1, B.C1
FROM A
INNER JOIN B ON A.C1 = B.C2
我在看性能水平,我需要知道这个之间的核心区别。当我和我的同事谈话时,他告诉我第一个问题是交叉加入会降低性能,但我不是那样想的。
请帮忙。
哪个查询你在这里建议,为什么?
+1是,**总是**使用第二个版本 - 具有JOIN条件的'INNER JOIN'更清晰。另外:使用第一个(遗留)JOIN语法,您总是有忘记指定连接条件(您必须)的危险可能性,因此最终会产生不需要的笛卡尔积... –
我以为它们都是ANSI 。 ANSI 89与ANSI 92至少这是我从以前关于这个主题的问题中得到的结果...... –
对于内部连接,这两种语法都是从SQL92开始的ANSI标准。 –