自己学习尚学堂的Oracle笔记(1)

来源:互联网 发布:linux 文件权限 编辑:程序博客网 时间:2024/05/01 10:36

Oracle 中的表 emp ,dept ,salgrade, dual
SQL> desc emp ; 查看表的结构

取得当前的时间
SQL> select sysdate from dual ;

取别名
SQL>slect ename, sal*12 anuual_sal from emp ;

任何含有空值的数参与运算,结果还是空

字符串的连接SQL>select ename||sal from emp ;("||"相当于JAVA里的"+"号)
在Oralce里字符串的表示是单引号('')SQL>select ename||'hehe' from emp;

如果字符串里面有单引号,可以用两个单引号代表一个单引号SQL>select ename|| 'abc""d""efg'

消掉记录里重复的值:SQL>select distinct deptno from emp ;
去掉两个字段里相同的组合SQL>select distinct deptno ,job from emp ;

where查询:
  =等于
  <>不等于
  <  >小于,大于
  <'ABC'比较字符串(比较字符的ASCII值)
  between.....and
  >   and  <
  and
  or
 
  取出空值(is null) SQL>select ename,comm from emp where comm is null
  不是空值(is not null)
 
  in取出特定的值
  (not in)
  SQL>select sal from emp where sal in (800,1500,2000)
取出含有800或1500或2000的值,也可以取字符串in('SMITH','king','ABC')

比较处理日期格式为23-1月 -82
用字符串来比较:SQL>select hiredate from emp where hiredate >'23-8月 -82'

模糊查询:like
SQL>select ename from emp where ename like '%All%' ;
一个字母是(_)
如取出第二个字母是A的
SQL>select ename from emp where ename like '_A%' ;
如果取出来的含有%,就用转义字符/
SQL>select ename from emp where ename like '%/%%' ;
自己指定转义字符
SQL>select ename from emp where ename like '%$%%' escape '$' ;

排序:order by desc(asc)
SQL>select ename ,sal from emp order by sal desc ;
两个或多个字段排序
SQL>select ename ,sal ,deptno from emp order by sal desc ,deptno asc ;