Oracle其他简单查询

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

SELECT job FROM emp;

实际在公司里面,一个职位会有多个人员。如果查询全部职位,肯定会存在重复。要消除掉重复,利用DISTINCT完成。(distinct 有区别的)

SELECT DISTINCT job FROM emp;

虽然使用DISTINCT可以消除全部的重复内容,但是只局限于单列的情况下,如果现在在以上查询里面多增加一个empno字段。

SELECT DISTINCT empno, job FROM emp;

这种情况并不会消除重复记录。因为编号和职位是不可能重复的。

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

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

分析:年薪 = 月薪 * 12,同时还需要知道日薪,按每个月30天记录。

SELECT empno, ename, sal * 12, sal/30 FROM emp;

对于日薪里面的小数,留给单行函数完成。

范例:公司每个员工在年底的时候可以领取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;

SELECT empno, ename, (sal+200)*12+5000 AS 年薪 FROM emp;

此处是否加AS对于最终的结果没任何的区别。但是注意:如果进行别名设置,在程序之中肯定是没用的,在结果的显示中用处也不大,而且切记不要使用中文,比如上边的“年薪”。

范例:

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

这个货币的标识就是一个字符串常亮,常量都使用直接输出的方式进行定义。

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

SELECT'编号是:' || empno || '的雇员姓名是:' || ename || ',基本工资是:' || sal 雇员信息 FROM emp;

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

范例:将雇员编号和雇员姓名连接在一起

SELECT empno || ename FROM emp;

小结:

  • 简单查询是将一张表中的全部或部分列进行显示的操作(不是控制行);
  • 简单查询中通过“*”表示查询全部的内容,也可以指定具体的列名称,显示具体列的内容;
  • 在SQL中可以使用“+”,“-”,“*”、“/”四则运算;
  • 可以为一个显示的列进行别名的设置,这样以后显示时会将相应的列名称替换别明显示;
  • 通过“||”可以进行数据的连接,在查询语句中出现的字符串,必须使用“'”括起来(' 是单引号)。
原文地址:https://www.cnblogs.com/keye/p/8074559.html