(四) Oracle数据库中简单查询、限制性查询和数据的排序

1. 列标题和数据的默认格式
问题:由于字符集的不同而使不同的日期数据的显示有问题.
alter session set NLS_DATE_LANGUAGE = ‘AMERICAN’;
2. 如何在sql语句中使用算术表达式
注意运算符的优先级:
select empno,ename,sal,500+sal
from emp;
3. 如何在sql语句中使用列名
目的:让非计算机人员能够看懂表结构
方法:只需要在列名和别名之间放AS或者空格就可以了
select empno as "Employee Number",
ename name,(500+sal)*12 "Annual Salary"
from emp;
结果:

4. 链接运算符
说明:连接运算符用两条竖线(||)表示,用于把一个或者多个列或字符串连接在一起.
在实际公司中老板可能会让你显示完整的句子,更容易理解.
select ename ||' 年薪为: '||(500+sal)*12 “员工的年薪”
from emp;

5. DISTINCT运算符
说明:去掉重复的行
注意:在查询比较大的表时我们应该尽量避免使用DISTINCT,因为这可能会造成Oracle数据库效率降低,它是通过排序的方式来完成DISTINCT这一功能的,可以查询唯一的那个.
select distinct deptno
from emp;

6. 如何限制所选的数据行(选择操作)
说明:where关键字,其后是限制的条件.
条件是由列名,字符串,算数表达式,常量和比较运算符组成的.
select empno,ename,sal
from emp
where sal >= 1500;

7. 如何使用BETWEEN AND比较运算符
说明:该运算符用于测试指定的数据范围,不但可以用于数字类型还能用于日期型数据,但是数据必须用单引号括起来,如何在前面加NOT则是不在这个范围内的.
select empno,ename,sal,hiredate
from emp
where hiredate BETWEEN ‘01-JAN-81’ AND ‘31-MAY-82’;

8. 在sql语句中使用字符串和日期
说明:在where子句中的字符串是严格区分大小写的,一定要注意.
select empno,ename,job
from emp
where job = ‘SALESMAN’;

9. 使用in比较运算符
说明:它是一个sql语句中很有用的,IN是用来测试某些值是否在这个列表中相反NOT则不在这个列表中
select empno,ename,sal,job
from emp
where job NOT IN('ANALYST','PRESIDENT');

10. 使用LIKE比较运算符
说明:模糊查询,有两个通配符"%"和"_"
%代表0个或者多个字符
_代表一个且只能有一个字符
select empno,ename,sal,job
from emp
where job LIKE'S_L_S%';

11. ORDER BY 排序
说明:一般默认是从小到大的如果要降序则用DESC,注意使用ORDER BY 后,该子句就是SQL语句的最后一个子句.
select empno,ename,sal
from emp
where sal >= 1500
ORDER BY sal DESC;

在order by中也可以使用别名或者表达式
select empno AS "Employee Number,ename name,(500+sal)*12 "Annual Salary"
from emp
order by "Annual Salary" DESC;

ORDER BY 子句中使用列号及使用多列
比如老板让你按职位A到Z排序之后再按工资按高到低排序
select ename,job,sal
from emp
order by job,sal DESC;

这种用法用的不多,易读性太差了
































  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奋斗的小巍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值