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 Statement to
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 Statement to
fail if the columns existing in both tables.
select子句中的别名可以有,如果不用别名要混淆的列还必须有别名,order by也是如此,using才不允许有,应选E