Oracle基本查询过滤排序实例
文章作者 100test 发表时间 2012:03:17 18:01:55
来源 100Test.Com百考试题网
——查询所有员工的信息0select * from emp;——设置行宽set linesize 120;——设置列宽为四个数字的宽度col empno for 9999;——设置列宽,a表示字符串共八位长度col ename for a8——设置pageSize每页显示30条记录set pagesize 30;——sql中支持算数表达式,注意:如果一个表达式中含有空值,则整个表达式为空0select empno,ename,sal,sal*12,comm,sal*12 comm from emp;——使用滤空函数如果comm为空将以0代替0select empno,ename,sal,sal*12,comm,sal*12 nvl(comm,0) from emp;——使用别名的三种方式,别名中有无双引号的区别:带双引号的可以包含空格和特殊字符,不带双引号的则不能0select empno as "员工编号",ename "姓名",sal 月薪,comm,sal*12 nvl(comm,0)年收入 from emp;——关于disctinct,相同记录只取一次0select distinct deptno from emp;——当disctinct跟多个值时,当deptno和job均一样时,才认为是相同记录0select distinct deptno,job from emp;——连接符的使用0select ename || 的薪水是 ||sal from emp;注意:
SQL 语言大小写不敏感。
SQL 可以写在一行或者多行关键字不能被缩写也不能分行各子句一般要分行写。
使用缩进提高语句的可读性。
过滤和排序
view plain——查询系统参数0select * from v$nls_parameters;——修改日期格式alter session set NLS_DATE_FORMAT= yyyy-mm-dd ;——隐士方式转换日期,会影响性能0select * from emp where hiredate= 1981-11-17 ;——显示方式转换日期0select * from emp where hiredate=to_date( 1981-11-17 , yyyy-mm-dd );——比较运算符,查询工资大于1000,小于2000的员工,between and含边界0select * from emp where sal