Oracle中scott表结构与简单查询实例分析

 更新时间:2015年04月25日 17:21:04   作者:米刀文  
这篇文章主要介绍了Oracle中scott表结构与简单查询,实例分析Oracle查询的相关技巧,需要的朋友可以参考下

本文实例讲述了Oracle中scott表结构与简单查询的方法。分享给大家供大家参考。具体分析如下:

1、scott用户的表的结构

查看表结构

desc 表名;//desc emp;
emp表:
SQL> desc emp;
名称 是否为空? 类型
----------------- -------- ------------
EMPNO NOT NULL NUMBER(4) 雇员编号
ENAME VARCHAR2(10) 雇员姓名
JOB VARCHAR2(9) 雇员职位
MGR NUMBER(4) 对应领导编号
HIREDATE DATE 雇用日期
SAL NUMBER(7,2) 基本工资
COMM NUMBER(7,2) 奖金,佣金
DEPTNO NUMBER(2) 部门编号

dept表:
SQL> desc dept;
名称 是否为空? 类型
----------------- -------- ------------
DEPTNO NOT NULL NUMBER(2) 部门编号
DNAME VARCHAR2(14) 部门名称
LOC VARCHAR2(13) 部门所在位置

salgrade表:
SQL> desc salgrade;
名称 是否为空? 类型
----------------- -------- ----------
GRADE NUMBER 工资等级
LOSAL NUMBER 此等级最高工资
HISAL NUMBER 此等级最高工资

bonus表:
SQL> desc bonus;
名称 是否为空? 类型
----------------- -------- ------------
ENAME VARCHAR2(10) 雇员姓名
JOB VARCHAR2(9) 雇员职位
SAL NUMBER 雇员工资
COMM NUMBER 雇员奖金

2、简单查询

1.查询不重复的职位

select distinct job from emp;

2.查询年薪,起别名,别名不要用单引号括起来

select sal*12 [as] income from emp;

3.简单查询中可以使用"||"连接查询的字段

select empno ||','|| ename from emp;

sql语句中的字符串用单引号表示
select '雇员编号是:'||empno||'姓名是:'||ename||'工资为:'||sal||'职位是:'||job||'!' 雇员信息 from emp;

4.在oracle中数据时区分大小写的

select * from emp where job ='CLERK';

查询不是办事员的雇员信息

select * from emp where job!='CLERK'; 
select * from emp where job<>'CLERK';
select * from emp where NOT job='CLERK';

5.BETWEEN ……AND 大于等于 小于等于

select * from emp where sal between 1500 and 3000; 

也可以求反

select * from emp where sal not between 1500 and 3000;

也可以是日期

select * from emp where hiredate between '01-1月 -1981' and '31-12月 -81';

6. 判断是否为空IS(NOT)NULL

select * from emp where comm Is not null; 
select * from emp where not comm Is null;

7.IN操作符

select * from emp where empno in (7521,7844,5555);
select * from emp where empno not in (7521,7844,5555);

关于NOT IN
如果现在使用了IN操作符,查询范围之中存在了null,不影响查询

select * from emp where empno in (7521,7844,null);

如果现在使用的是NOT IN操作符,如果查询范围之中有了null,则不会有任何的结果返回

select * from emp where not empno in (7521,7844,null);
select * from emp where empno not in (7521,7844,null);

8.LIKE子句

匹配符号:
匹配单个字符: _ 0个
匹配任意多个字符:% 0个、一个、多个
查询全部以字母"A"开头的雇员

select * from emp where ename like 'A%';

查询第二个字母为"A"的雇员

select * from emp where ename like '_A%'; 

查询含有字母为"A"的雇员

select * from emp where ename like '%A%'; 

查询不含有字母为"A"的雇员

select * from emp where not ename like '%A%'; 
select * from emp where ename not like '%A%';

LIKE '%%' 表示查询全部数据

select * from emp where empno like '%%'

9.数据的排序

order by 字段 [ASC|DESC][,字段 [ASC|DESC]……];

order by子句必须在where子句之后,在所有sql语句最后
排序的时候可以指明多个排序字段
排序方式有两种:默认(ASC)升序 、DESC(降序)
按照工资进行排序

select * from emp order by sal desc;

先按工资排序,再按照雇佣日期排序

select * from emp order by sal desc,hiredate;

希望本文所述对大家的Oracle程序设计有所帮助。

相关文章

  • Oracle用户自定义异常实现过程解析

    Oracle用户自定义异常实现过程解析

    这篇文章主要介绍了Oracle用户自定义异常实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Oracle查询中OVER (PARTITION BY ..)用法

    Oracle查询中OVER (PARTITION BY ..)用法

    这篇文章主要介绍了Oracle查询中OVER (PARTITION BY ..)用法,内容和代码大家参考一下。
    2017-11-11
  • SQLPlus命令操作用法详解

    SQLPlus命令操作用法详解

    这篇文章主要介绍了SQLPlus命令操作用法详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • oracle中左填充(lpad)和右填充(rpad)的介绍与用法

    oracle中左填充(lpad)和右填充(rpad)的介绍与用法

    这篇文章主要跟大家介绍了关于oracle中左填充(lpad)和右填充(rpad)的相关资料,通过填充我们可以固定字段的长度,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-08-08
  • oracle中行转列LISTAGG()函数详解及应用实例

    oracle中行转列LISTAGG()函数详解及应用实例

    这篇文章主要给大家介绍了关于oracle中行转列LISTAGG()函数详解及应用实例的相关资料,stagg是oracle11.2增加的特性,功能类似wmsys.wm_concat函数,即将数据分组后,把指定列的数据通过指定符号合并,需要的朋友可以参考下
    2024-05-05
  • oracle中fdisk导致的ASM磁盘数据丢失的解决方法

    oracle中fdisk导致的ASM磁盘数据丢失的解决方法

    oracle中fdisk 导致的ASM磁盘数据丢失 有需要的朋友可参考一下
    2012-10-10
  • Oracle 数据库针对表主键列并发导致行级锁简单演示

    Oracle 数据库针对表主键列并发导致行级锁简单演示

    本文简单演示针对表主键并发导致的行级锁,锁的产生是因为并发。没有并发,就没有锁。并发的产生是因为系统需要,系统需要是因为用户需要,感兴趣的你可以参考下哈,希望可以帮助到你
    2013-03-03
  • Oracle 12CR2查询转换教程之表扩展详解

    Oracle 12CR2查询转换教程之表扩展详解

    Oracle 12cR2版本已经发布有一段时间,下面这篇文章主要给大家介绍了关于Oracle 12CR2查询转换教程之表扩展的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-11-11
  • Oracle 11.2.0.4打补丁的方法

    Oracle 11.2.0.4打补丁的方法

    这篇文章主要介绍了Oracle 11.2.0.4打补丁的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • 设置oralce自动内存管理执行步骤

    设置oralce自动内存管理执行步骤

    设置内存管理首先要启用oracle自动内存管理需要shutdown ,restart,接下来为大家介绍下详细的执行步骤,感兴趣的朋友可以参考下哈
    2013-04-04

最新评论