【发布时间】:2012-01-02 18:28:56
【问题描述】:
在 SQL Server 中,我有以下设计:
是否 100% 确定 JOIN 中 OR 语句的第一个条件将首先执行?那么下面的SQL语句会产生绿色的结果吗?
SELECT P.Name, D.Percentage
FROM Personnel P
JOIN Department D ON
P.Dep_Code = D.Code AND
(P.SubDep_Code = D.SubCode OR D.SubCode = '*')
【问题讨论】:
-
这在很大程度上取决于您的数据库。强大的数据库,如 Oracle、DB2、SQL Server 将优化(考虑索引、直方图、约束等)。这是关于什么数据库的?
-
这是 SQL Server(更新问题)
-
a or b和b or a在三元布尔逻辑中的含义相同。为什么要让连接过滤掉P-A | 100,因为连接条件对于下面的行是正确的?
标签: sql sql-server join conditional-statements