Oracle过滤和排序数据

本文介绍了Oracle数据库中如何使用WHERE子句过滤数据和ORDER BY子句对数据进行排序的方法。通过具体的例子展示了如何创建表、插入数据,并使用SQL语句进行数据筛选和排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Oracle过滤和排序数据

开发工具与技术:工具:Oracle数据库,语言:pl/sql
作者:刘胜
撰写时间:2019-03-25


一、作为Oracle的初学者,学习总结是必要的,通过本章小结学习Where过滤条件和Order By排序数据,两者的语句使用规则都放在From语句后面,Oracle的语法结构以及关键字是与很多流行的数据库都是大同小异的。
为了能够直观的理解Oracle数据库的关键字的使用方法,在Oracle数据库创建几张表,如下:

1.表的结构以及表之间的数据关系
在这里插入图片描述
2.创建表以及往表中插入数据的代码

//首先以创建两张表为例,练习一下在单行函数和多行函数里的关键字使用方法。下面代码是创建表的实例
//创建Employees表格的代码
Create table Employees(
     employee_id     number(10)    primary key,
     first_name      varchar2(25)  not null,
     last_name       varchar2(25),
     email           varchar2(25)  not null,
     phone_number    varchar2(20),
     hire_date       date not null,
     job_id          varchar2(10),
     salary          number(8,2),
     commission_pct  number(6),
     department_id   number(4),
     constraint pf_departments foreign key(department_id)
     references Departments(department_id),
     constraint pm_email unique(email)
) ;
//创建Departments表格的代码
Create table Departments(
     department_id   number(6),
     department_name varchar2(10) not null,
     constraint pk_departmentId primary key (department_id)     
);
//往employees表格里插入数据的代码
insert into Employees values (1,'Liu1','Sheng1','wwwtyke1@qq.com','17819789876',to_date('1999-01-19','yyyy-mm-dd'),0,'1000','1.2','1');
insert into Employees values (2,'Liu2','Sheng2','wwwtyke2@qq.com','17819789876',to_date('1999-01-19','yyyy-mm-dd'),0,'2000','1.2','2');
insert into Employees values (3,'Liu3','Sheng3','wwwtyke3@qq.com','17819789876',to_date('1999-01-19','yyyy-mm-dd'),0,'3000','1.2','3');
//往departments表格里插入数据的代码
Insert into Departments values(1,department1);
Insert into Departments values(2,department2);
Insert into Departments values(3,department3);

3.使用Order by和Where关键字排序和筛选数据


//Order by 排序  ORDER BY 子句在SELECT语句的结尾!
Select * from Employees Order by Emplyee_id DESC;//Order by Desc 倒序排序。
Select * from Employees Order by EMplyee_id ASC;//Order by ASC 升序排序,可以不用写ASC,系统默认是升序排序。
//Where 过滤
Select * from Employees Where First_name = 'Liu1' and Last_name = 'Sheng1';
Select * from Employees Where Salary > 2000 and Salary < 4000;
Select * from Employees Where Salary Between 2000 and 4000;
Select * from Employees Where Employee_id in (1,3);
Select * from Employees Where Employee_id not in (1,3);
Select * from Employees Where Employee_id = 1 or Employee_id = 3;
Select * from Employees Where First_name like ('%i%') and Commission_pct is not null;
Select * from Employees Where First_name like ('%i%') and Commission_pct is null;

二、总结
使用WHERE 子句过滤数据包括(比较运算,Between ··· And ··· ,In ,Like,Null运算和逻辑运算符And,Or还有Not)。
使用Order by 子句进行排序包括(Desc 倒叙,Asc升序)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值