choose three

Examine this SQL statement:

SELECT custid, cus last_name "Last Name"

FROM customers

WHERE country_id = 10

UNION

SELECT cust_id CUST_NO, cust_last_name

FROM customers

WHERE country_id = 30

Identify three ORDER BY clauses, any one of which can complete the query successfully.

A) ORDERBY 2, 1

B) ORDER BY "CUST_NO"

C) ORDER BY 2,cust_id

D) ORDER BY CUST_NO

E) ORDER BY "Last Name"

Answer:ACE

(解析:此题的解析跟下面的解析一样,答案就是按照解析的总结规律找出来的。)

071-140 题目:

SELECT department_id "DEPT_ID", department_name, 'b' FROM departments

WHERE department_id=90 UNION

SELECT department_id, department_name DEPT_NAME, 'a' FROM departments

WHERE department_id=10

Which two ORDER BY clauses can be used to sort output?

A. ORDER BY DEPT_NAME;

B. ORDER BY DEPT_ID;

C. ORDER BY 'b';

D. ORDER BY 3;

Correct Answer: BD

(解析:通过实验发现别名必须是用双引号概括起来的才可以用来排序;而且发现取了别名(别名用双引号概括)的列的名字也不能用来排序;没有用双引号概括起来的别名的列名可以用来排序;order by 3,可以根据显示的列的顺序进行排序。

注意 union 排序的的时候 order by 要写在语句的最后;发现只能在第一条 select 语句中的列进行排序。)

SQL> select empno "CUST_NO",ename "LAST NAME",'a' FROM emp

2 UNION

3 SELECT EMPNO ,ENAME,'b' FROM emp

4 ORDER BY empno;

ORDER BY empno

*

第 4 行出现错误:

ORA-00904: "EMPNO": 标识符无效