问问题的一个变体 SQL:WHERE 子句中的 IF 子句
假设:DeptID
是传递给 SQL 查询的参数,如果@DeptID
为 null,则显示所有行,否则按DeptID
过滤结果。
一些伪代码,如
SELECT *
FROM EMPLOYEE
IF :DeptID not = null
WHERE DeptID = :DeptID
ELSE (no filter)
寻找适合PostgreSQL和MySQL的正确语法
预期结果为:当传入DeptID
参数为NULL
时,则显示所有员工。
当参数DeptID
作为 10 传递时,显示 ID 为 10 的部门员工。
SELECT *
FROM EMPLOYEE
WHERE :DeptID is null
OR :DeptID = DeptID