我有2张桌子:
Departament
id_dep, name_dep
Run Code Online (Sandbox Code Playgroud)
雇员
id_dep, salary
Run Code Online (Sandbox Code Playgroud)
我想获得所有工资都低于7000的部门的名称.我必须创建一个SELECT声明.我是SQL的初学者,如果我会浪费你的时间,我很抱歉,但我需要帮助.
我有一个解决方案,但我不知道是否好:
SELECT name_dep
FROM departments
WHERE employee.salary < 7000
MINUS
SELECT name_dep
FROM departments
WHERE employee.salary >= 7000
Run Code Online (Sandbox Code Playgroud)
你可以使用NOT EXISTS:
SELECT id_dep , name_dep
FROM department AS d
WHERE NOT EXISTS (SELECT 1
FROM employee AS e
WHERE e.id_dep = d.id_dep AND e.salary >= 7000)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
98 次 |
| 最近记录: |