考试报名
考试报名
考试内容
考试大纲
在线客服
返回顶部

备考刷题,请到

CDA认证小程序

某公司员工表 employee 包含 emp_id、name、manager_id(上级员工ID)。现需找出所有“管理层”的姓名(即至少管理一名其他员工)。以下SQL中,结果正确且性能最优的是?
A. SELECT name FROM employee WHERE emp_id IN (SELECT manager_id FROM employee WHERE manager_id IS NOT NULL)
B. SELECT DISTINCT e1.name FROM employee e1 JOIN employee e2 ON e1.emp_id = e2.manager_id
C. SELECT name FROM employee WHERE EXISTS (SELECT 1 FROM employee WHERE manager_id = emp_id)
D. SELECT name FROM employee WHERE emp_id = ANY (SELECT manager_id FROM employee)
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

A、C和D逻辑正确,但子查询可能效率较低。B使用自连接,直接关联出经理与被管理者,加上 DISTINCT 去重,效率通常更高。