Oracle查询语句(一)

下面是学习Oracle的查询语句的命令和一些oracle特有的语法。在这里做一个记录。以下操作的表都是在scott用户名下的。因此在学习时,可以参考
http://blog.csdn.net/u011521890/article/details/52202962博客,添加scott用户。
1、oracle支持的语法—基本查询

SQL> --查看当前用户
SQL> show user
SQL> --当前用户下的表
SQL> select * from tab;
SQL> -- tab数据字典(管理员提供的表)
SQL> desc emp
SQL> --查询所有员工的所有信息
SQL> select * from emp;
SQL> --设置行宽
SQL> set linesize 120
SQL> --设置列宽
SQL> col ename for a8
SQL> col sal for 9999

nvl(a,b)语句

--nvl(comm,0) ---语句
    select empno,ename,sal,sal*12 年薪,comm 奖金,sal*12+nvl(comm,0) 年收入 from emp;

sql 判断为空的语句

    comm is null
    comm is not null

–distinct 去重复

    select distinct job,comm from emp ; 作用于后面所有的字段

–concat 连接字符串

     select concat(‘Hello’,'World') from dual; dual表是一张伪表,因为遵循sql99规范,定义该表用来操作一些与数据库没有关系的语法
     CONCAT('HEL                                                                                                             
-----------                                                                                                             
Hello World  

–连接符

select ‘Hello’||'World' from dual;

–查询员工信息,XXX的薪水是XXX

 select ename || '的薪水是' || sal "结果" from emp;

oracle需要注意
SQL> –字符串大小写敏感

SQL> select * from emp where ename like 'KING';
SQL> select * from emp where ename like 'king';
未选定行

SQL> –日期格式敏感
SQL> –查询入职日期为17-11月-81的员工

select * from emp where hiredate='1981-11-17'1 行出现错误: 
ORA-01861: 文字与格式字符串不匹配 

SQL> –Oracle的日期格式 DD-MON-RR
SQL> –当前时间

SQL> select sysdate from dual;

SQL> –查询系统参数

SQL> select * from v$nls_parameters;
SQL> --v$nls_parameters 数据字典(包含某些系统的设置)

SQL> –修改日期格式

SQL> alter session set NLS_DATE_FORMAT='yyyy-mm-dd';

SQL> –between .. and 在**之间
SQL> –1.含边界
SQL> –2.小值在前,大值在后。

SQL> select *
    from emp
    where sal between 1000 and 2000;

SQL> –in:在集合中
SQL> –查询10和20号部门的员工

SQL> select *
    from emp
    where deptno in (10,20);

–查询不是10和20号部门的员工

    select *
    from emp
   where deptno not in (10,20)

like 模糊查询 % _
SQL> % 表示任意长度的任意字符串
SQL> –查询名字以s开头的员工信息

SQL> select *
    from emp
    where ename like 's%';

_下划线表示任意的一个字符。

select *
    from emp
    where ename like '____';

SQL> –查询姓名带有下划线的员工
SQL> –使用转移字符

SQL> select *
  2  from emp
  3  where ename like '%\_%' escape '\';

SQL> –oracle是自动开启事务,因此可以rollback;来回滚当前事务。

SQL> rollback;

回退已完成。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值