SQL> /
EMPNO
DEPTNO
----------------7369
20
7499
30
7521
30
7566
20
7654
30
7698
30
7782
10
7788
20
7839
10
7844
30
7876
20
7900
30
7902
20
7934
10
ENAME
JOB
SAL
COMM
CLERK
7902 17-DEC-80
800
ALLEN
SALESMAN
7698 20-FEB-81
1600
300
WARD
SALESMAN
7698 22-FEB-81
1250
500
JONES
MANAGER
7839 02-APR-81
2975
MARTIN
SALESMAN
7698 28-SEP-81
1250
BLAKE
MANAGER
7839 01-MAY-81
2850
CLARK
MANAGER
7839 09-JUN-81
2450
SCOTT
ANALYST
7566 09-DEC-82
3000
KING
PRESIDENT
17-NOV-81
5000
TURNER
SALESMAN
7698 08-SEP-81
1500
ADAMS
CLERK
7788 12-JAN-83
1100
JAMES
CLERK
7698 03-DEC-81
950
FORD
ANALYST
7566 03-DEC-81
3000
MILLER
CLERK
7782 23-JAN-82
1300
14 rows selected.
SQL> clear screen
SQL> ed
Wrote file afiedt.buf
1
2
3*
4
MGR HIREDATE
select ename,sal
from emp
order by sal desc
/
ENAME
SAL
---------- --------KING
5000
FORD
3000
SCOTT
3000
JONES
2975
BLAKE
2850
CLARK
2450
ALLEN
1600
TURNER
1500
MILLER
1300
WARD
1250
MARTIN
1250
ADAMS
1100
1400
JAMES
SMITH
950
800
14 rows selected.
SQL> ed
Wrote file afiedt.buf
1
2
3*
4
select ename,deptno,job
from emp
order by deptno desc,job desc,ename
/
ENAME
DEPTNO JOB
---------- --------- --------ALLEN
30 SALESMAN
MARTIN
30 SALESMAN
TURNER
30 SALESMAN
WARD
30 SALESMAN
BLAKE
30 MANAGER
JAMES
30 CLERK
JONES
20 MANAGER
ADAMS
20 CLERK
SMITH
20 CLERK
FORD
20 ANALYST
SCOTT
20 ANALYST
KING
10 PRESIDENT
CLARK
10 MANAGER
MILLER
10 CLERK
14 rows selected.
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL> clear screen
SQL> ed
Wrote file afiedt.buf
1
2
3
4*
5
select ename,job,deptno
from emp
where job='CLERK'
order by deptno desc
/
ENAME
---------JAMES
SMITH
ADAMS
MILLER
JOB
DEPTNO
--------- --------CLERK
30
CLERK
20
CLERK
20
CLERK
10
select ename,job,deptno
from emp
where job='CLERK'
order by 3 desc
/
ENAME
---------JAMES
SMITH
ADAMS
MILLER
JOB
DEPTNO
--------- --------CLERK
30
CLERK
20
CLERK
20
CLERK
10
SQL> ed
Wrote file afiedt.buf
1 select ename,job,deptno
2 from emp
3 where job='CLERK'
4* order by 8 desc
5 /
order by 8 desc
*
ERROR at line 4:
ORA-01785: ORDER BY item must be the number of a SELECT-list expression
SQL> ed
Wrote file afiedt.buf
1
2
3
4*
5
select ename,job,deptno
from emp
where job='CLERK'
order by sal*12 desc
/
ENAME
---------MILLER
ADAMS
JAMES
SMITH
JOB
DEPTNO
--------- --------CLERK
10
CLERK
20
CLERK
30
CLERK
20
SQL> ed
Wrote file afiedt.buf
1
2
3*
4
ENAME
SAL ANN_SALARY
---------- --------- ---------KING
5000
60000
FORD
3000
36000
SCOTT
3000
36000
JONES
2975
35700
BLAKE
2850
34200
CLARK
2450
29400
ALLEN
TURNER
MILLER
WARD
MARTIN
ADAMS
JAMES
SMITH
1600
1500
1300
1250
1250
1100
950
800
19200
18000
15600
15000
15000
13200
11400
9600
14 rows selected.
SQL> clear screen
SQL> /
ENAME
SAL ANN_SALARY
---------- --------- ---------KING
5000
60000
FORD
3000
36000
SCOTT
3000
36000
JONES
2975
35700
BLAKE
2850
34200
CLARK
2450
29400
ALLEN
1600
19200
TURNER
1500
18000
MILLER
1300
15600
WARD
1250
15000
MARTIN
1250
15000
ADAMS
1100
13200
JAMES
950
11400
SMITH
800
9600
14 rows selected.
SQL> ed
Wrote file afiedt.buf
1
2
3*
4
ENAME
SAL ANN_SALARY
---------- --------- ---------KING
5000
60000
FORD
3000
36000
SCOTT
3000
36000
JONES
2975
35700
BLAKE
2850
34200
CLARK
2450
29400
ALLEN
1600
19200
TURNER
1500
18000
MILLER
1300
15600
WARD
1250
15000
MARTIN
1250
15000
ADAMS
1100
13200
JAMES
950
11400
SMITH
800
9600
14 rows selected.
SQL> ed
DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS
LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON
Type
---NUMBER(2)
VARCHAR2(14)
VARCHAR2(13)
ignored.
Type
---NUMBER(10)
VARCHAR2(14)
VARCHAR2(13)
LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON
LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON
select ename,sal
from emp
where sal not between 1500 and 2850
/
Month
Name
Salary
---------- --------SMITH
800
WARD
1250
JONES
2975
MARTIN
1250
SCOTT
3000
KING
5000
ADAMS
JAMES
FORD
MILLER
1100
950
3000
1300
10 rows selected.
SQL> clear screen
SQL> select lower(
2
SQL> ed
Wrote file afiedt.buf
1* select lower('SMITH') from dual
2 /
LOWER
----smith
SQL> ed
Wrote file afiedt.buf
1* select lower('SMITH') from dual
2 /
LOWER
----smith
SQL> clear screen
SQL> var vname varchar2(20)
SQL> exec :vname:='smith'
PL/SQL procedure successfully completed.
SQL> select upper(
2
SQL> ed
Wrote file afiedt.buf
1* select upper(:vname) from dual
2 /
UPPER(:VNAME)
-------------------------------SMITH
SQL> ed
Wrote file afiedt.buf
1* select upper(:vname) from dual
2
SQL>
SQL>