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

备考刷题,请到

CDA认证小程序

The result table has columns A, B, C, D. Requirements: 1) Choose A if A >= B, otherwise choose B. 2) Choose C if C >= D, otherwise choose D. The correct SQL statement is:
A. select (when A>=B then A else B) MAX_AB, (when C>=D then C else D) MAX_CD from result;
B. select (case when A>=B then A else B) MAX_AB, (case when C>=D then C else D) MAX_CD from result;
C. select (case when A>=B then A else B end) MAX_AB, (case when C>=D then C else D end) MAX_CD from result;
D. select (case A>=B then A else B end) MAX_AB, (case C>=D then C else D end) MAX_CD from result;
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

Syntax for case expression: case when ... then ... else ... end

正确答案是:C: select (case when A>=B then A else B end) MAX_AB, (case when C>=D then C else D end) MAX_CD from result;

专业分析如下:

1. **SQL语法分析**:
- SQL中的`CASE`语句用于条件判断,格式为`CASE WHEN condition THEN result ELSE result END`。
- `WHEN`和`THEN`是必须的关键字,`END`用于结束`CASE`语句。

2. **选项分析**:
- 选项A: `select (when A>=B then A else B) MAX_AB, (when C>=D then C else D) MAX_CD from result;`:
- 错误。`WHEN`和`THEN`需要在`CASE`语句内使用,并且缺少`CASE`和`END`关键字。

- 选项B: `select (case when A>=B then A else B) MAX_AB, (case when C>=D then C else D) MAX_CD from result;`:
- 部分正确。虽然`CASE`和`WHEN`使用正确,但缺少`END`关键字来结束`CASE`语句。

- 选项C: `select (case when A>=B then A else B end) MAX_AB, (case when C>=D then C else D end) MAX_CD from result;`:
- 正确。`CASE`语句完整且符合SQL语法,包括`CASE`、`WHEN`、`THEN`、`ELSE`和`END`关键字。

- 选项D: `select (case A>=B then A else B end) MAX_AB, (case C>=D then C else D end) MAX_CD from result;`:
- 错误。`CASE`语句需要使用`WHEN`关键字来引入条件,而不是直接使用条件表达式。

因此,选项C是唯一完全符合SQL语法并且能正确执行的选项。