SQL02

SQL02过滤和排序数据
一、在查询中过滤行
1.WHERE 子句
SELECT * | {[DISTINCT] column|expression}
FROM table WHERE condition(s);
WHERE子句紧随FROM子句。
1)desc table_name;查看列名。
select ename, empno ,
deptno,job
from emp
where deptno=10;
2)字符和日期 字符和日期要包含在单引号中。
字符大小写敏感,日期格式敏感。
默认的日期格式是DD-MON-RR(日-月-年代)
字符:
select ename, empno,
deptno,job,hiredate
from emp
where ename=‘KING’;3)
修改日期类型 select ename, empno ,
deptno,job, hiredate
from emp
where hiredate=‘19-apr-87’;
(临时变量) alter session
set nls_date_format=‘YYYY-MM-DD’;(年-月-日)
select ename,empno,
deptno,job,hiredate
from emp
where hiredate>‘1987-04-19’;
2.比较运算符
1) between and
select deptno,dname
from dept where
deptno between 10 and 30;
2) select last_name
from employees where last_name
between ‘King’ and ‘Smith’;
3) in 操作符
select ename , sal
from emp
where in (‘SCOTT’,‘KING’);
4)使用LIKE操作符
%代表一个或多个字符
代表一个字符
select fir_name from employees where first_name like ‘S%’;
5)通配符 ’
%‘和’-‘可以同时使用
可以使用escape标示符搜索实际的’%‘和’
'符号
select last_name
from emplyoyees
where last_name like ‘_o%’;
6) 使用NULL条件:使用 is null 操作符判断空值
select last_name, manager_id
from employees
where manager_id is null.
7)逻辑运算符:and or not
select employee_id, last_name, job_id,salsry
from employees
where salary >= 10000 and job_id like ‘%MAN’;
select employee_id, last_name,job_id , salary
from employees
where salary >=10000 or job_id like ‘%MAN’;
select last_name, job_id
from employees
where job_id not in (‘IT_PROG’,‘ST_CLERK’,‘SA_REP’);
8)优先级
算数运算符 连接符 比较符 IS [NOT] NULL,LIKE, [NOT] IN [NOT] BETWEEN 不等于 NOT AND OR
二、在查询中对行进行排序
使用ORDER BY 子句排序:
ASC:升序,默认
DESC:降序
ORDER BY 子句在SELECT语句结尾:
1)查看员工姓名、工资升序排列
select ename,sal from emp
order by sal asc;
2)加上部门编号
select ename, sal
from emp
order by detpno , sal;
3)降序排序
select last_name, job_id, department_id, hire_date
from employees
order by hire_data DESC ;
4)使用别名默认排序
select employee_id, last_name, salary12 annsal
from employees
order by annsal ;
5)使用列的数字位置
select last_name, job_id, department_id, hire_data
from employees
order by 3;
6)按多个列排序
select last_name, department_id,salary
from employees
order by department_id, salary DESC;
三、替代变量
1.使用符号替换限制和排序输出运行时间
使用&和&&临时存储值
set pages 200 llines 200 :在一页上展示
/ 执行前面的命令 l显示上一个命令
2.使用替代变量,可以替代以下内容:
where 条件
order by子句
列表达式
表名
整个SELECT语句
3.使用&替代变量
1)select employee_id,last_name,salary,department_id
from employees
where employee_id = &employee_num;
2)字符和日期替代变量
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
where &condition order by &order_column;
4.使用&&替代变量
每次重复使用变量值,不提示用户的情况下,使用&&
select employee_id, last_name, job_id,&&column_name
from employees
order by &column_name;
5.使用DEFINE命令
使用DEFINE命令创建和分配一个变量的值。
使用UNDEFINE命令来删除一个变量。
define employee_num = 200;
select emplyee_id ,last_name, salary,department_id
from employees
where employee_id = &employee_num;
undefine employee_num
6.使用VERIFY命令
使用verify命令来显示的替代变量之前和之后SQL开发人员替换替换变量的值:
set verify on
select employee_id ,last_name, salary
from employees
where employee_id = &employee_num;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值