Oracle数据库之四 简单查询

四、简单查询

​ 简单查询的主要特征就是将一张数据表之中的全部数据行进行显示,而后可以利用 select 子句来控制所需要的输出列。

4.1、基础语法

范例:查询 emp 表中的数据(全部数据查询)

select * from emp;

​ 在取得全部数据后,可以发现某些列上会显示 null 的信息,null 表示的是没有内容,但 null != 0 , null 指的是暂时未知的内容。

  • 简单查询语句语法:
select [distinct] * | 列名称[as][列别名],列名称[as][列别名],...
from 表名称[表别名];

​ 在整个简单查询之中,主要有两个句子完成:

​ select 子句:在这个子句里面存在如下内容:

​ * : 表示查询所有的数据列;

​ 列名称:表示要显示的指定列,列也可以设置别名 ;

​ distinct:表示去除重复数据的显示。

​ from 子句:定义要使用的数据表,就可以理解为数据来源。

范例: 查询每个雇员的编号、姓名、基本工资 三个信息进行浏览。

select empno, ename, sal
form emp;

关于执行顺序问题,这两个子句的执行顺序:

第一步:执行 from 子句,表示确定数据来源

第二步:执行 select 子句,确定要显示的数据列

4.2、其他的查询操作

范例 :现在要查询公司中所有雇员的职位信息

select job from emp;       # 职位会有重复

select distinct job from emp;     # 去除重复数据

​ 虽然使用 distinct 可以消除全部的重复数据,但是只局限于所有列的内容全部相同的情况,如果在以上查询中多增加一个 empno 字段,

select distinct empno,job from emp; 

​ 会发现所有数据都显示了,因为每个编号所对应的职位都是唯一的,不同的,所以 distinct 只能用于全部内容相同时。

除了以上的基本查询之外,简单查询之中的 select 子句里面也支持四则运算。

范例 :要求通过数据库查询出所以雇员的编号、雇员姓名和年基本工资、日基本工资,以作为年终奖金的发放标准

select empno,ename,sal*12,sal/30 
from emp;

​ 年薪=月薪*12、 日薪=月薪/30

​ 出现的结果有小数,对于小数部分的处理,留给后面的单行函数完成。

范例:现在公司每个雇员在年底可以领取 5000 的年终奖,要求查询雇员编号、雇员姓名和增长后的年基本工资(不包括佣金)

select empno,ename,sal*12+5000
from emp;

范例:公司每个月为雇员增加 200 元的补助金,此时查询每个雇员的雇员编号、姓名、年基本工资

select empno,ename,(sal+200)*12+5000
from emp;

​ 出现结果的表中 (sal+200)*12+5000 意思不明确,可以起别名 年薪

select empno,ename,(sal+200)*12+5000 年薪
from emp;

​ 在进行别名设置时,也可以使用一个 as 进行设置操作。

select empno,ename,(sal+200)*12+5000 as 年薪
from emp;

此处是否加上 as 对于最终的结果没有任何区别,但是必须提醒读者的是,如果进行别名的设置,如果在程序之中肯定是没用的,那么显示中用处也不大,而且要记住,不要使用中文,现在是刚接触,可以使用中文,等将来学到程序时,是一定要回避中文的!

范例:为查询结果设置别名

select empno as 雇员编号,ename as 雇员姓名,(sal+200)*12+5000 as 年薪
from emp;

​ 此时有个新问题,给出的年薪是什么样的年薪?所以希望可以输出一个标识,下面直接输出一个人民币标识。

select empno as 雇员编号,ename as 雇员姓名,(sal+200)*12+5000 as 年薪,'¥' as 货币
from emp;

​ 查询结果中这个货币的标识实际上就是一个字符串常量,常量都使用直接输出的方式定义。

范例:使用 “||” 进行连接显示

​ 在进行简单查询的时候,可以直接使用 “||” 进行字符串或者列数据的连接操作。

​ 先观察连接:

select empno || ename from emp;

​ 结果显示,雇员编号和名字连在一起了。

select '编号是:' || empno || ' 的雇员信息是:' || ename || '基本工资是:' || sal 雇员信息
from emp;

​ “雇员信息” 是设置的整个表的标题名称。

说明:本学习资料是根据李兴华的oracle开发实战经典整理

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐