各位用户为了找寻关于Oracle中scott表结构与简单查询实例分析的资料费劲了很多周折。这里教程网为您整理了关于Oracle中scott表结构与简单查询实例分析的相关资料,仅供查阅,以下为您介绍关于Oracle中scott表结构与简单查询实例分析的详细内容
本文实例讲述了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.查询不重复的职位
? 1select
distinct
job
from
emp;
2.查询年薪,起别名,别名不要用单引号括起来
? 1select
sal*12 [
as
] income
from
emp;
3.简单查询中可以使用"||"连接查询的字段
? 1select
empno ||
','
|| ename
from
emp;
sql语句中的字符串用单引号表示 select '雇员编号是:'||empno||'姓名是:'||ename||'工资为:'||sal||'职位是:'||job||'!' 雇员信息 from emp;
4.在oracle中数据时区分大小写的
? 1select
*
from
emp
where
job =
'CLERK'
;
查询不是办事员的雇员信息
? 1 2 3select
*
from
emp
where
job!=
'CLERK'
;
select
*
from
emp
where
job<>
'CLERK'
;
select
*
from
emp
where
NOT
job=
'CLERK'
;
5.BETWEEN ……AND 大于等于 小于等于
? 1select
*
from
emp
where
sal
between
1500
and
3000;
也可以求反
? 1select
*
from
emp
where
sal
not
between
1500
and
3000;
也可以是日期
? 1select
*
from
emp
where
hiredate
between
'01-1月 -1981'
and
'31-12月 -81'
;
6. 判断是否为空IS(NOT)NULL
? 1 2select
*
from
emp
where
comm
Is
not
null
;
select
*
from
emp
where
not
comm
Is
null
;
7.IN操作符
? 1 2select
*
from
emp
where
empno
in
(7521,7844,5555);
select
*
from
emp
where
empno
not
in
(7521,7844,5555);
关于NOT IN 如果现在使用了IN操作符,查询范围之中存在了null,不影响查询
? 1select
*
from
emp
where
empno
in
(7521,7844,
null
);
如果现在使用的是NOT IN操作符,如果查询范围之中有了null,则不会有任何的结果返回
? 1 2select
*
from
emp
where
not
empno
in
(7521,7844,
null
);
select
*
from
emp
where
empno
not
in
(7521,7844,
null
);
8.LIKE子句
匹配符号: 匹配单个字符: _ 0个 匹配任意多个字符:% 0个、一个、多个 查询全部以字母"A"开头的雇员
? 1select
*
from
emp
where
ename
like
'A%'
;
查询第二个字母为"A"的雇员
? 1select
*
from
emp
where
ename
like
'_A%'
;
查询含有字母为"A"的雇员
? 1select
*
from
emp
where
ename
like
'%A%'
;
查询不含有字母为"A"的雇员
? 1 2select
*
from
emp
where
not
ename
like
'%A%'
;
select
*
from
emp
where
ename
not
like
'%A%'
;
LIKE '%%' 表示查询全部数据
? 1select
*
from
emp
where
empno
like
'%%'
9.数据的排序
? 1order
by
字段 [
ASC
|
DESC
][,字段 [
ASC
|
DESC
]……];
order by子句必须在where子句之后,在所有sql语句最后 排序的时候可以指明多个排序字段 排序方式有两种:默认(ASC)升序 、DESC(降序) 按照工资进行排序
? 1select
*
from
emp
order
by
sal
desc
;
先按工资排序,再按照雇佣日期排序
? 1select
*
from
emp
order
by
sal
desc
,hiredate;
希望本文所述对大家的Oracle程序设计有所帮助。