子查询-w3resources

h22fl7wq  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(334)

我想知道我的代码是否有效?关于这个学校练习的问题3:

SELECT first_name, last_name
FROM employees
WHERE 
    manager_id IS NOT NULL
    AND manager_id IN (
        SELECT manager_id
        FROM departments
        WHERE location_id IN (
            SELECT location_id 
            FROM locations
            WHERE country_id='US' 
        )
    )
;
dsekswqp

dsekswqp1#

是的,你的代码应该有用。
请注意,sql中检查manager\u id是否为null的部分是多余的,可以删除(in子句已经确保设置了manager\u id)。
可以使用一组联接优化查询,如:

SELECT e.first_name, e.last_name
FROM employees e
INNER JOIN departments d ON d.manager_id = e.manager_id
INNER JOIN locations l ON l.department_id = d.department_id AND l.country_id='US'

相关问题