NULL值
实验6:关于null值得问题
SQL> select ename,sal,comm from emp;
ENAME SAL COMM
---------- ---------- ---------- SMITH 800 ALLEN 1600 300 WARD 1250 500 JONES 2975 MARTIN 1250 1400 BLAKE 2850 CLARK 2450 KING 5000 TURNER 1500 0 JAMES 950 FORD 3000 MILLER 1300已选择12行。
其中COMM列中有一些行没有值,是空值(null)。
- null值不等于0,也不等于空格。
- null值是未赋值的值。
- null值是双银剑,使用好了提高性能。
别名
别名的使用原则
- 区别同名列的名称
- 非法的表达式合法化
- 按照你的意愿显示列的名称
- 特殊的别名要双引
- 直接写列的后面
- 使用as增加可读性
实验7:在列上起一个别名
SQL> select sal as salary , hiredate "上班日期",sal*12 total_salary from emp;
SALARY 上班日期 TOTAL_SALARY
---------- -------------- ------------ 800 17-12月-80 9600 1600 20-2月 -81 19200 1250 22-2月 -81 15000 2975 02-4月 -81 35700 1250 28-9月 -81 15000 2850 01-5月 -81 34200 2450 09-6月 -81 29400 5000 17-11月-81 60000 1500 08-9月 -81 18000 950 03-12月-81 11400 3000 03-12月-81 36000 1300 23-1月 -82 15600已选择12行。
SQL> select sal salary from emp;
SALARY
---------- 800 1600 1250 2975 1250 2850 2450 5000 1500 950 3000 1300已选择12行。
SQL> select sal as salary , hiredate as 日期 from emp;
SALARY 日期
---------- -------------- 800 17-12月-80 1600 20-2月 -81 1250 22-2月 -81 2975 02-4月 -81 1250 28-9月 -81 2850 01-5月 -81 2450 09-6月 -81 5000 17-11月-81 1500 08-9月 -81 950 03-12月-81 3000 03-12月-81 1300 23-1月 -82已选择12行。
重复的行
select语句显示重复的行,可以使用distinct语法去掉重复的行。
SQL> select deptno from emp;
DEPTNO
---------- 20 30 30 20 30 30 10 10 30 30 20 10已选择12行。
实验8:在显示的时候去掉重复的行
使用distinct关键字去掉重复的行
SQL> select distinct deptno from emp;
DEPTNO
---------- 30 20 10在oracle10g前的版本需要排序才能去掉重复的行,在10g中不需要排序,所以输出也是无序的。
返回目录