CUUG官方博客: CUUG官网_CUUG怎么样_CUUG培训就业怎么样_CUUG学Oracle要多少钱

【基本SQL语句】 兰交大 徐辉

 

【基本SQL语句】
 1.sqlplus / as sysdba,启动数据库实例,出现idle instance 说明数据库实例没有启动,输入命令startup启动数据库实例。
 2.select status from v$instance;,查看数据库实例状态,如需关闭数据库,使用shutdown immediate;。
 3.conn scott/tiger,切换到scott用户,密码是tiger。
 4.select 关键字标明取哪些列的数据 from 关键字标明从哪些表中取数据。
   []代表可选;{}选择其中一个;*代表所有的列。
   语句:一个语句的结束以;为标志。
   子句:一个语句由多个子句组成,最基本的select语句包含两个子句:select子句和from字句。
   SQL语句不是大小写敏感的。
 5.select * from emp;,在emp表里输出所有的列。
 6.选择特定的列:select job,sal from emp;,在emp表中输出job和sal。注意“,”的用法。
 7.伪列:rownum ,反映的是每一行在查询的结果集中的位置。
        eg:selsect rownum,mgr,job from emp;,在列前面出现伪列显示行数。
 8.describe:简写为desc:不知道具体列名时,可使用desc查看表结构。
        eg:desc emp
 9.列头部的缺省格式:左部对齐:日期,字符数据。
                    右部对齐:数字,格式数据。
 10.格式化列宽度:column [列名] format a20,将某列的列宽度改为20。
 11.算数的优先级,eg:select ename,sal,12*sal+100,12*(sal+100) from emp;,括号可以改变优先级顺序。
 12.空值的处理:nvl函数,如果是空值,就转换成0,:nvl(comm,0)
    eg:select empno,ename,sal,comm,sal+nvl(comm,0) from emp;
 13.定义别名的三种方式:as  空格  双引号。
    eg:select empno as ID,ename Name, sal "salary" from emp;。
 14.并置运算符:|| 可以连接列,也可以将列和字符串连接。
    eg:要求显示SMITH's job is CLERK。
       select ename ||'''s job is'|| job from emp;注意加单引号转义,或者q'<'s job is >'也可以。
 15.消除重复行:distinct     group by
    eg:select distinct deptno,ename from emp;行是唯一还是重复取决于distinct关键字之后的内容。
       select deptno,ename from emp group by deptno,ename;
 16.save:保存查询的语句,list查看历史命令。save/home/oracle/p1_01.sql,保存所查询到的sql语句。get/home/oracle/p1_01.sql,查看保存语句。
         @/home/oracle/p1_01.sql,执行此语句。
 17.where 字句:where字句紧跟在From字句之后。
              eg:查询12号部门的员工姓名:select ename,deptno from emp where deptno=12;
          注意:字符串和日期要用单引号引起来,字符串的大小写敏感。日期值对于日期的格式敏感。
 18.比较操作符:注意:包含空值的列进行比较要对空值进行处理。
           eg:查询工资大于奖金的员工:select * from emp where sal>nvl(comm,0);
          where子句中使用rownum伪列进行限定时,使用 <或<= ,使用 >不返回行。rownum<和and并用时,是在另一个条件基础上的rownum<。
 19.其他比较操作符:between ... and ...  eg:select * from emp where sal between 800 and 1000;
                    in        eg:select empno,ename,sal,mgr from emp where mgr in (7902,7566,7788);
                                 等同于:select empno,ename,sal,mgr from emp where mgr=7902 or mgr=7566 or mgr=7788;
 20.模糊查询:like    eg:select * from emp where ename like '%\_%' escape;   escape 转义
 21.空值比较:is null   is not
              eg:select * from emp where comm is not null;查询奖金不是空值的员工信息。
              注意:空值不能用等号来判断。
 22.逻辑操作符:and    or     not 注意:()可以改变优先级。
 23.order by 字句:排序。 desc降序;asc升序。注意:如果有where子句,order by 子句跟在where子句后面。
              eg:1>.按照列的别名排序:select ename,sal salary from emp order by salar;
                 2>.按照列的序号(位置)排序:select empno,ename,deptno from emp order by 3,1;
                 3>.多个列排序(混合排序):select * from emp order by deptno,sal desc;
            注意:排序中的null值,默认把null看做无限大。升序中:nulls last。降序中:nulls first。
 

 

 

 

 

 

 


作者:逗你玩儿 分类:学员作业 浏览:471 评论:0
留言列表
发表评论
来宾的头像

点击关闭
  • 在线客服