QUESTION NO: 23
Evaluate this SQL statement:
SELECT e.emp_name, d.dept_name FROM employees e JOIN departments d
USING (department_id) WHERE d.department_id NOT IN (10,40) ORDER BY dept_name;
The statement fails when executed. Which change fixes the error?
A. remove the ORDER BY clause
B. remove the table alias prefix from the WHERE clause
C. remove the table alias from the SELECT clause
D. prefix the column in the USING clause with the table alias
E. prefix the column in the ORDER BY clause with the table alias
F. replace the condition ”d.department_id NOT IN (10,40)” in the WHERE clause with ”d.department_id <> 10 AND d.department_id <> 40”
Answer: C,E
Explanation:
Prefix the column in the ORDER BY Clause would cause the statement to succeed, assuming that
the statement failed because the dept_name existed in employee & department tables.
Not C: Removing the alias from the columns in the SELECT clause would cause the Statementto fail if the columns existing in both tables.
本文探讨了一段特定的SQL语句错误,并提出了两种有效的解决方案:一是去除SELECT子句中的表别名前缀;二是为ORDER BY子句中的列添加表别名前缀。此外,还解释了为何这些修改能解决原有的SQL执行失败问题。

3325

被折叠的 条评论
为什么被折叠?



