根据我的理解,条件是评估为真,假或未知的陈述。但是,我不明白它与SQL表达式的区别。
两者之间有什么区别,可以提供一些例子来说明这种差异?
答案 0 :(得分:3)
正如你所说:conditions(谓词)返回一个布尔值(在SQL的情况下为三值)。
返回其他类型的东西仍然是表达式:
1+1
SUBSTRING(...)
条件(谓词)只是一个返回类型为boolean
的表达式。
1 > 0
1 < 0
1 = null
答案 1 :(得分:2)
允许表达式生成RDBMS支持的任何类型的结果。例如,下面的Salary+Bonus
是表达式的示例:
SELECT
Salary
, Bonus
, Salary+Bonus AS TotalCompensation
FROM EmployeeCompensation
WHERE EmployeeId=1223
条件是评估为true
,false
或NULL
(未知)的表达式。这些是WHERE
和HAVING
子句中允许的唯一表达式。上面EmployeeId=1223
是一个条件的例子。