SQL 基础之order by 排序和代替变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL 基础之order by 排序和代替变量相关的知识,希望对你有一定的参考价值。

使用 ORDER BY 子句排序:

– ASC:升序,默认

– DESC:降序

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


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

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

技术分享


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

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

技术分享


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

技术分享

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

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

技术分享

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

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

技术分享


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

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

技术分享


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

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

技术分享


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

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

技术分享




替代变量


使用替代变量:

– 使用&指定变量 

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

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

– WHERE 条件

– ORDER BY 子句

– 列表达式

– 表名

– 整个 SELECT 语句

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


1、输出员工id

技术分享


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

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

技术分享


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

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

技术分享


定义变量

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

技术分享


2、使用 VERIFY  命令

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

替换替换变量的值:

SET VERIFY ON

SELECT employee_id,last_name,salary

FROM employees

WHERE employee_id = &employee_num;

技术分享

本文出自 “记录点滴学习生活” 博客,转载请与作者联系!

以上是关于SQL 基础之order by 排序和代替变量的主要内容,如果未能解决你的问题,请参考以下文章

sql中order by和group by的区别

使用 FORCE INDEX 确保在计算用户变量之前使用 GROUP BY 和 ORDER BY 对表进行排序

Oracle命令sql语句之排序(order by)

sql语句执行顺序之group by、order by

SQL中Order By的意义和用法

Mysql之 order by 排序