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语法并且能正确执行的选项。