请注意,我有类似的主题和不同的问题,
我正在学习MySQL
。我遇到了一些选择题。
如果我怀疑答案是什么或者不相信它是正确的,我就开始搜索 google、stackoverflow 和 mysql 网站。
然而,对于某些人来说,我仍然无法确认正确答案是什么。
所以我在这里问这个问题。
问题:
表 Employees
已创建。您想要检索至少有一名下属的员工的信息。您将执行以下哪个查询来完成任务?
A.
从员工中选择员工 ID、姓氏、职位 ID、部门 ID,其中员工 ID 存在(选择经理 ID,其中经理 ID 为 NULL);
B.
从员工中选择员工 ID、姓氏、职位 ID、部门 ID,其中员工 ID 为 IN(从员工中选择经理 ID,其中经理 ID 不为空);
C.
从员工外部 WHERE EXISTS 中选择员工 ID、姓氏、工作 ID、部门 ID(从员工 WHERE manager_id = 外部.employee_id 中选择“x”);
D.
从员工中选择员工 ID、姓氏、职位 ID、部门 ID,其中员工 ID 为 WHERE 员工 ID IN(选择经理 ID,其中经理 ID 不为空);
- A 和 D 在
子查询
中没有FROM
子句。我猜这是无效的(或者只是问题中的拼写错误?) - 建议的答案是 C。但是我认为这行不通,因为保留关键字“outer”在这里用作别名。如果我错了,请纠正我。
- 所以实际上这里只剩下B了。
- 答案 D 顺序不正确。 (
WHERE
应该在HAVING
之前) - 答案 A 无效,因为
子查询
查询IS NULL
。
- A 和 D 在
如果您对此问题/答案或我的任何言论有任何意见,我很高兴听到!
最佳答案
根据给定的信息,B 似乎是正确的,并进行了更正,即应该有 where 而不是任何having in 语句,但可以更好地告诉您是否上传数据库架构
关于mysql - 哪个 MySQL Select 查询是正确的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18298759/