相关疑难解决方法(0)

INNER JOIN ON vs WHERE子句

为简单起见,假设所有相关字段都是NOT NULL.

你可以做:

SELECT
    table1.this, table2.that, table2.somethingelse
FROM
    table1, table2
WHERE
    table1.foreignkey = table2.primarykey
    AND (some other conditions)
Run Code Online (Sandbox Code Playgroud)

要不然:

SELECT
    table1.this, table2.that, table2.somethingelse
FROM
    table1 INNER JOIN table2
    ON table1.foreignkey = table2.primarykey
WHERE
    (some other conditions)
Run Code Online (Sandbox Code Playgroud)

这两个是以同样的方式工作MySQL吗?

mysql sql join inner-join

893
推荐指数
9
解决办法
57万
查看次数

ANSI JOIN与非ANSI JOIN查询的执行方式是否不同?

我在~7000行T-SQL存储过程中有我的业务逻辑,其中大多数都有下一个JOIN语法:

SELECT A.A, B.B, C.C
FROM aaa AS A, bbb AS B, ccc AS C
WHERE
    A.B = B.ID
AND B.C = C.ID
AND C.ID = @param
Run Code Online (Sandbox Code Playgroud)

如果我用这个替换这样的查询,我会获得性能增长:

SELECT A.A, B.B, C.C
FROM aaa AS A
JOIN bbb AS B
   ON A.B = B.ID
JOIN ccc AS C
   ON B.C = C.ID
   AND C.ID = @param
Run Code Online (Sandbox Code Playgroud)

或者他们是一样的?

sql t-sql sql-server join

59
推荐指数
2
解决办法
8万
查看次数

两个SQL连接表示法之间有什么区别?

SQL 1: select * from t1 join t2 on t1.f1 = t2.f2

SQL 2: select * from t1,t2 where t1.f1 = t2.f2

他们返回的结果是一样的.它们之间有什么不同吗?例如,在DBMS如何运行它们或在查询计划中?

sql t-sql sql-server

6
推荐指数
2
解决办法
354
查看次数

标签 统计

sql ×3

join ×2

sql-server ×2

t-sql ×2

inner-join ×1

mysql ×1