y 17400
FORD annual salary 42000
MILLER annual salary 21600
例5:如果觉得还不够直观的话,让我们变成中文,看看效果如下:
SQL> select ename || ' 年薪金额为: ' || (500+sal)*12 "员工2014年年薪" from emp;
员工2014年年薪
SMITH 年薪金额为: 15600
ALLEN 年薪金额为: 25200
WARD 年薪金额为: 21000
JONES 年薪金额为: 41700
MARTIN 年薪金额为: 21000
BLAKE 年薪金额为: 40200
CLARK 年薪金额为: 35400
SCOTT 年薪金额为: 42000
KING 年薪金额为: 66000
TURNER 年薪金额为: 24000
ADAMS 年薪金额为: 19200
JAMES 年薪金额为: 17400
FORD 年薪金额为: 42000
MILLER 年薪金额为: 21600
小结:
在让显示结果更易读时,常常使用连接运算符“||”以达到预期的效果。字符串与连接运算符的搭配使用在工作中很常见,这会使数据更易读。
去重的考虑:DISTINCT运算符
格式:select *|{[distinct] 列表,...} from 表名;
列表的格式为:列名|表达式[别名]
select * from 表名:从表名所指定的表中选择所有的列
select distinct 列表 ... from 表名:为从表名所指定的表中选择列表所规定的列,但不显示重复的数据行(或记录)。
例6:在emp表内查询部门号时,会出现全部的信息,数据量小还可以,如果数据量变得巨大以后,那将变得很难筛选出有用的信息来。
SQL> select deptno from emp;
DEPTNO
------
20
30
30
20
30
30
10
20
10
30
20
30
20
10
14 rows selected
以下使用distinct命令,如下所示:
SQL> select distinct deptno from emp;
DEPTNO
------
30
20
10
但这个方法,我们并不建议使用,因为这个distinct完成的是两个步骤,会先排序,然后从中筛选重复值。可以预见,如果在一张大表里的话,效率将会是非常低的。如果想要去重的话,我们可以使用group分组,来完成去重的目的。
为了实现去重的目的,我们可以这样执行语句,如下所示:
SQL> select deptno from emp group by deptno;
DEPTNO
------
30
20
10
***********************************************声明***********************************************************************
原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任。
深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/39907707
****************************************************************************************************************************