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;

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




本文转自 yuri_cto 51CTO博客,原文链接:http://blog.51cto.com/laobaiv1/1903247,如需转载请自行联系原作者

目录
打赏
0
0
0
0
265
分享
相关文章
Oracle的PL/SQL定义变量和常量:数据的稳定与灵动
【4月更文挑战第19天】在Oracle PL/SQL中,变量和常量扮演着数据存储的关键角色。变量是可变的“魔术盒”,用于存储程序运行时的动态数据,通过`DECLARE`定义,可在循环和条件判断中体现其灵活性。常量则是不可变的“固定牌”,一旦设定值便保持不变,用`CONSTANT`声明,提供程序稳定性和易维护性。通过 `%TYPE`、`NOT NULL`等特性,可以更高效地管理和控制变量与常量,提升代码质量。善用两者,能优化PL/SQL程序的结构和性能。
SQL中,可以使用 `ORDER BY` 子句来实现排序功能
【10月更文挑战第26天】SQL中,可以使用 `ORDER BY` 子句来实现排序功能
236 6
DataWorks产品使用合集之ODPPS中如何使用SQL查询从表中获取值并将其赋值给临时变量以供后续使用
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
8月前
|
SQL ORDER BY 关键字
【7月更文挑战第11天】SQL ORDER BY 关键字。
48 2
MySQL设计规约问题之为何推荐用DECIMAL代替FLOAT和DOUBLE来存储精确浮点数
MySQL设计规约问题之为何推荐用DECIMAL代替FLOAT和DOUBLE来存储精确浮点数
MaxCompute产品使用问题之odps sql如何定义变量
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
303 0
SQL调优之绑定变量用法简介
SQL调优之绑定变量用法简介
MySQL数据库——SQL优化(2/3)-order by 优化、group by 优化
MySQL数据库——SQL优化(2/3)-order by 优化、group by 优化
93 0
MySQL数据库——SQL(3)-DQL(基本查询、条件查询、聚合函数、分组查询、排序查询、分页查询、案例练习)
MySQL数据库——SQL(3)-DQL(基本查询、条件查询、聚合函数、分组查询、排序查询、分页查询、案例练习)
89 0
|
10月前
|
SQL ORDER BY 关键字
SQL ORDER BY 关键字
45 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等