Oracle数据库之SQL---select之一
前言
前篇笔者已经说明,最好的学习就是实战!因此我的学习也就是从实战中展开的。在一切SQL
语句中最基本的莫过于查询语句了,因此笔者也是从select语句开始学习的。(其实这部分笔者)
已经掌握,但是还是有必要重新掌握的。
对于前期的学习,主要用到的是Oracle数据库中本就存在的一些表,这里笔者使用Scott这个经典
用户进行相关练习与操作!开始吧!
一条简单的查询:
select *from emp;--查询emp表的全部信息,简单到无可附加
查询中使用表达式
select emp.sal*12 from emp;--查询所有员工的年薪(假定如此) select emp.ename,sal*12+500 from emp;
对列取别名(必要的)
select emp.ename "姓名"from emp;--别名的使用
对空值的处理
首先我们必须明白的是:我们从数据库中取值的时候,有可能出现该域并未赋值
既为“NULL”但是,在一些运算表达式中这是不合理的,因此必须对其进行处理,可以
使用NVL函数进行处理:
select emp.ename ,emp.sal+emp.sal*NVL(NULL,0) from emp;--对于空值的处理
NVL:若为空值则替换为指定的值
另外对于空值需要注意的是:
1、空值指的是不可用,不知道,不适用的值
2、空值是不等于零和空格的
3、对空值进行运算之后的值也为空值
去掉重复行
现实中有这种需求,我们不需要统计哪些多次出现过的项
1、不去重演示:
select emp.sal from emp order by sal asc;--使用升序的方式
2、去掉上面列表中重复的两项
select distinct emp.sal from emp;--使用distinct关键字去重复
3、去掉多列重复行有如何呢?
select distinct ename,emp.sal from emp order by sal asc;--对后面的列都有效 --即是不同列的组合
列连接符
select ename||'s salary is '||sal " as employees sal salary" from emp;
使用“||”可以将列和运算表达式常量连接起来形成一个输出显示。
好了select的基本用法也就到这儿了,笔者肯定对一些细枝末节的东西也未总结完。
不过最基本的也够了。