使用 ORDER BY 子句排序:

– ASC:升序,默认

– DESC:降序

ORDER BY 子句在SELECT 语句结尾,可使用列别名


1、查找工资在7000-10000之间的数字并去重,升序排序

select distinct salary  from employees where salary  between 7000 and 10000 order by salary;

wKiom1i6m1qjTzYBAABaC62CM7o622.jpg-wh_50


2、查找名字、部门并按照入职日期进行升序

select last_name,department_id,hire_date from employees order by hire_date;

wKiom1i6nyjxDGy5AACpAlZfDaQ312.jpg-wh_50


select last_name,department_id,hire_date from employees order by hire_date desc;

wKioL1i6n37zNnKoAACrvGHUuP0110.jpg-wh_50

另外一种用法是按照第几列来排序,下面的例子是用到第三列

select last_name,department_id,hire_date from employees order by 3;

wKiom1i6oCTTJzVhAACI8Hd5DXk085.jpg-wh_50

还有一种用法是按照多列排序,并且按照不同的方式,有个规律按照第一例的策略为先,然后才是第二例。下面的例子是按照department_id 升序为主,然后在按照第二例降序

select last_name, department_id, salary from employees order by department_id, salary desc;

wKiom1i6oReCyftZAACp4P0SXzc701.jpg-wh_50


3、列出有提成员工的姓名,工资和提成,按工资降序排列?

select last_name,salary,commission_pct from employees where commission_pct is not null order by 2 desc ,3 asc;

wKioL1i6xFGBPKAvAACVMa7R_Wo330.jpg-wh_50


4、用替代变量,给定名字,查员工 id,工资,例如输出工资大于10000的员工信息

select last_name,employee_id,salary from employees  where salary > &slary;

wKioL1i6xXyiPACVAADGUcyeOBE445.jpg-wh_50


5、指定manager_id 的内容,并按照指定列 last_name 排序

select employee_id,last_name,salary,department_id from employees where manager_id= &mgr_num order by &order_col

wKiom1i6xoOCVssXAACuFyPNPN0690.jpg-wh_50




替代变量


使用替代变量:

– 使用&指定变量 

– 每次重复使用变量值,如果您不想提示用户的情况下,请使用&&

使用替代变量,可以替代以下内容:

– WHERE 条件

– ORDER BY 子句

– 列表达式

– 表名

– 整个 SELECT 语句

– 字符和日期替代变量要加单引号如:'first_name'


1、输出员工id

wKioL1i6oo-yGfCQAACcY2x71jA826.jpg-wh_50


2、输入job_id 为指定内容的员工姓名、部门ID、年薪等信息

select last_name, department_id, salary*12 from employees where job_id = '&job_title';

wKiom1i6rjmRPzntAACS26B5-FQ681.jpg-wh_50


3、指定列名进行查询和排序

select employee_id, last_name, job_id, &&column_name from employees  order by &column_name ;

wKiom1i6r2TCEb3hAAEWrRFl2yQ693.jpg-wh_50


定义变量

1、使用 DEFINE  命令

---使用DEFINE命令创建和分配一个变量的值。

---使用UNDEFINE命令来删除一个变量

DEFINE employee_num = 200

SELECT employee_id, last_name, salary, department_id

FROM employees

WHERE employee_id = &employee_num ;

UNDEFINE employee_num

wKiom1i6sOfg671PAABpsSxzK5U378.jpg-wh_50


2、使用 VERIFY  命令

使用 VERIFY 命令来显示的替代变量之前和之后SQL开发人员

替换替换变量的值:

SET VERIFY ON

SELECT employee_id,last_name,salary

FROM employees

WHERE employee_id = &employee_num;

wKioL1i6snHRg-pBAABk3NxKmko970.jpg-wh_50