哪个MySQL选择查询是正确的

哪个MySQL选择查询是正确的,mysql,select,having,Mysql,Select,Having,请注意,我有类似的主题和不同的问题 我正在学习MySQL。我遇到了一些选择题。 如果我怀疑答案是否正确,我就开始搜索谷歌、stackoverflow和mysql网站。 然而,对于一些人来说,我仍然无法确认正确答案是什么 因此,我在这里提出这个问题 问题: 表Employees被创建。您希望检索至少有一个人向其报告的员工的信息。您将执行以下哪项查询来完成任务 A.从员工id存在的员工中选择员工id、姓氏、职务id、部门id。选择经理id为空的经理id B.从具有员工id的员工中选择员工id、姓氏、

请注意,我有类似的主题和不同的问题

我正在学习MySQL。我遇到了一些选择题。 如果我怀疑答案是否正确,我就开始搜索谷歌、stackoverflow和mysql网站。 然而,对于一些人来说,我仍然无法确认正确答案是什么

因此,我在这里提出这个问题

问题: 表Employees被创建。您希望检索至少有一个人向其报告的员工的信息。您将执行以下哪项查询来完成任务

A.从员工id存在的员工中选择员工id、姓氏、职务id、部门id。选择经理id为空的经理id

B.从具有员工id的员工中选择员工id、姓氏、职务id、部门id;从经理id不为空的员工中选择经理id

C.从存在的外部员工中选择员工id、姓氏、职务id、部门id,从经理id=外部员工id的员工中选择“x”

D.从具有员工id的员工中选择员工id、姓氏、职务id、部门id,其中经理id不为空的“选择经理id中的员工id”

A和D在子查询中没有FROM子句。我猜这是无效的,或者只是问题中的一个输入错误? 建议的答案是C。但是我认为这不可行,因为保留关键字outer在这里用作别名。如果我错了,请纠正我。 实际上这里只剩下B了。 答案D顺序不正确。吃之前应该在哪里 答案A无效,因为的子查询查询为空。
如果你对这个问题/答案或我的任何评论有任何评论,我很高兴听到

根据给定的信息,B似乎是正确的,其中有一个更正,即应该在语句中有where和nothave,但如果您在C上传DB schema,它可以更好地告诉您,outer.employee_id等于Employees.employee_id。顺便说一句,这不是为了家庭作业或考试吗?:我正在准备认证,在网上发现了一些示例问题。注意,OUTER是一个保留关键字。所以我认为这是行不通的。或者我错了吗?当我在测试表上尝试C时,我得到:从emp outer(存在)中选择id,从emp(存在)中选择“x”,其中mid=outer.id;错误1064 42000:您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解第1行的“outer WHERE exists SELECT'x'FROM emp WHERE mid=outer.id”附近使用的正确语法,以提醒尝试此问题的其他人:如果别名使用保留字,则它必须位于单引号或反勾之间。我们是否可以投票支持“上述任何一项”?并且不要将保留字用作列/表别名。我用一个表重新创建了这个示例,该表有2列:id,注意没有提供db模式。然后输入一些条目。如果没有管理器,则将某些中间列保留为空。查询:从具有id的emp中选择id,从emp中选择mid,其中mid不为空;它只给我有人向他们报告的条目。注意,这个问题是关于mysql的。可能其他db服务器在having子句上有不同的行为。