SQL SELECT(初学者)

121*_*212 1 sql oracle plsql

我有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)

Gio*_*sos 6

你可以使用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)