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

备考刷题,请到

CDA认证小程序

现有三张表employ(雇员信息表),performance(雇员绩效表),salary(雇员工资表),三张表公共字段为eno(雇员号), 现需要连接三表,并查询SQL工资(salary)高于5000的员工的姓名(name)和他的工作绩效(performance)的最完整的语句为?
A. SELECT name, salary,performanceFROM employ LEFT JOIN performance ON employ.eno= performance.eno LEFT JOIN salary ON employ.eno = salary.enoWHERE salary .salary>5000
B.  SELECT employ.name,salary. salary, performance . performanceFROM employ LEFT JOIN performance ON employ.eno= performance.eno LEFT JOIN salary ON performance.eno = salary.enoWHERE salary .salary>5000
C. SELECT employ.name,salary. salary, performance . performanceFROM employ LEFT JOIN performance ON employ.eno= performance.eno LEFT JOIN salary ON employ.eno = salary.enoWHERE salary>5000
D.  SELECT employ.name,salary. salary, performance . performanceFROM employ LEFT JOIN performance ON employ.eno= performance.eno LEFT JOIN salary ON employ.eno = salary.enoHAVING salary .salary>5000
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

正确答案是:A: SELECT name, salary, performance FROM employ LEFT JOIN performance ON employ.eno = performance.eno LEFT JOIN salary ON employ.eno = salary.eno WHERE salary.salary > 5000

分析:

1. **选择字段**:
- 题目要求查询姓名和工作绩效,因此需要选择 `name` 和 `performance` 字段。
- A、B、C、D 选项中都包含这些字段。

2. **表连接**:
- 三个表 `employ`、`performance`、`salary` 通过公共字段 `eno` 进行连接。
- A、C、D 选项中,`employ` 表通过 `eno` 字段分别连接到 `performance` 和 `salary` 表,符合题意。
- B 选项中,`performance` 表通过 `eno` 字段连接到 `salary` 表,这不符合题目中通过公共字段 `eno` 连接三表的要求。

3. **过滤条件**:
- 需要过滤出工资高于 5000 的员工,因此需要在 `WHERE` 子句中使用条件 `salary.salary > 5000`。
- A 选项正确使用了 `WHERE salary.salary > 5000`。
- C 选项中,`WHERE salary > 5000` 缺少表名或别名,语法不完整。
- D 选项使用 `HAVING` 子句不合适,因为 `HAVING` 通常用于聚合函数后的过滤。

综上所述,选项 A 是正确的答案。