我需要显示部门 1 中所有比部门 2 工人年轻的员工的 ID、姓名和出生日期。我正在尝试在没有连接的情况下做。
这是我目前所拥有的,当我运行它时它不会失败,但它显示了部门 2 的所有工人,无论他们的生日如何。
SELECT ID, CONCAT(fName," " ,lName) AS "Worker Name", dob
FROM Worker
WHERE dob <= ALL (SELECT department
FROM Worker
WHERE deparment = 1
)
AND deparment = 2;
你想检查dob,那么你应该选择dob
SELECT ID, CONCAT(fName," " ,lName) AS "Worker Name", dob
FROM Worker
WHERE dob <= ALL (SELECT dob
FROM Worker
WHERE deparment = 1
)
AND deparment = 2;
这应列出部门 1 中比部门 2 中的工作人员年轻的所有工作人员:
SELECT ID, CONCAT(fName," " ,lName) AS "Worker Name", dob
FROM Worker
WHERE dob < (SELECT min(w2.dob)
FROM Worker w2
WHERE w2.deparment = 2
)
AND deparment = 1