oracle数据库实用教程
year
year and century
87
1987 oracle数据库实用教程
日期型数据的格式说明
• 缺省日期型:dd-mon-yy select sysdate from dual;
系统:date,time
• 改变日期形式: • 1.本次会话
SQL> ALTER SESSION SET NLS_DATE_FORMAT='YY-MM-DD';
AND SAL BETWEEN LOSAL AND HISAL
oracle数据库实用教程
等值连接和非等值连接
题目:查找工资级别为2的雇员的信息 。 要求显示的信息:雇员的姓名,部门的名称, 工资、工资级别
PPT文档演模板
SELECT ENAME,DNAME,SAL,GRADE FROM EMP,DEPT,SALGRADE WHERE GRADE=2
2. 命令修改 3.保存命令
start filename @filename4.执Leabharlann 命令oracle数据库实用教程
练习
• 建表 • 注意利用SQL命令缓冲区 • 插入、修改、删除数据(注意条件) • 提交、回滚
PPT文档演模板
oracle数据库实用教程
练习
• 表名txl-n • 结构:学号 数字型 3 唯一
表结构
• 2.变更
1>修改 sql>alter table table_name modify(column_name datatype );
2>增加 sql>alter table table_name add(column_name datatype );
PPT文档演模板
oracle数据库实用教程
表内容
• 2.修改记录
sql>update table_name set column_name1= values1,column_name2=values2 [where search_conditions];
PPT文档演模板
oracle数据库实用教程
表内容
• 3.删除记录 sql>delete [from] table_name [where search_conditions]; sql>truncate table table_name;
PPT文档演模板
oracle数据库实用教程
SQL语句中的函数
• 字符函数 – substr、length 、lower 、rtrim 、ltrim
• 数值函数 – abs 、mod 、round 、trunc 、nvl
• 日期函数 – months_between 、add_months 、next_day
除count(*)外,当使用分组函数时,均忽略空值
PPT文档演模板
oracle数据库实用教程
分组函数(统计函数)
• 练习
PPT文档演模板
1 工资的平均值 2 奖金的最大值 3 工资的总和 4 最低工资 5 表中数据行的总数 6 有多少个不同的部门
oracle数据库实用教程
分组查询与排序
• 数据分组:对有重复值的列进行分组。
select ename,dname from emp e,dept d where e.deptno=d.deptno
PPT文档演模板
oracle数据库实用教程
非等值连接(NON-EQUIJOIN)
• 基于列的不等性来连接两张或多张表。
题目:请查找雇员SMITH的工资和工资等级情况, 希望显示的信息---员工名、工资、工资等级.
• 转换函数 – to_char 、to_date
PPT文档演模板
oracle数据库实用教程
数据查询语言(DML)命令
• SELECT语句
SELECT <查询内容> FROM <表名> WHERE <条件> GROUP <分组内容> HAVING <组内条件> ORDER BY <排序内容>
PPT文档演模板
AND SAL BETWEEN LOSAL AND HISAL AND EMP.DEPTNO=DEPT.DEPTNO;
oracle数据库实用教程
自我连接(SELF JOIN)
• 将表连接到自身 – 在SQL语句中一个表暂时重新命名为两个表。
PPT文档演模板
oracle数据库实用教程
分组查询
练习:
1)编写SQL语句,从EMP表中返回---部门编号、部门平 均工资。 2)编写SQL语句,从EMP表中返回----部门编号、部门工资总和
条件是:部门工资总和大于8000。 3)编写SQL语句,从EMP表中返回----部门编号、部门平均工资
条件是:除了部门10,部门工资平均值大于1500的部门的情况。
PPT文档演模板
oracle数据库实用教程
SQL*PLUS
PPT文档演模板
l 显示(l,l n ,l m n,l last) 1.显示命令
a 当前行末追加
c/old/new 更改
cl buff 清缓存
del 删除(n, last, m n)
i
加入(i, i text)
save filename 保存 edit、vi filename 编辑
姓名 可变长字符串 10 非空 出生 日期型 电话 数字型 10 • 查看结构、查看内容
PPT文档演模板
oracle数据库实用教程
练习
• 1.增加字段 单位 可变长字符串 12 • 2.修改字段 出生 可变长字符串 5(原日期)
PPT文档演模板
oracle数据库实用教程
练习
• 插入数据 至少5条 • 修改数据 (根据条件) • 删除数据(根据条件)
• Month
– mm – mon – month
• Year
– yy
– yyyy
PPT文档演模板
number abbreviated spelledout spelled out,ordinal
12 fri Friday twelfth
number abbreviated spelled out
03 mar march
oracle数据库实用教程
简单查询
• 无条件查询 • 条件查询 • 排序 • 统计 • 分组统计
PPT文档演模板
oracle数据库实用教程
分组函数(统计函数)
• 完成对一组记录的统计处理
– count({*| [distinct|all] x}): 行数 – sum(x):数据列求和 – avg([distinct|all] x):数据列平均值 – max(x):列的最大值 – min(x): 列的最小值
•select field_name from table_name
oracle数据库实用教程
基本数据类型
CHAR[(n)] n<=255
VARCHAR2(n) n<=2000 字符串用单引号括起来
LONG(n) n<=2G
• NUMBER[(m[,n])] m精度(1-38) n小数后位数
• RAW(n)
二进制数据 n<=2000
• LONG RAW(n)
n<=2G 可以存储声音、图片
DATE 缺省形式
‘DD-MON-YY’
ROWID 内部数据类型 (数据库序号.行序号.数据文件号)
NULL
PPT文档演模板
oracle数据库实用教程
日期型数据的格式说明
• Days
– dd – dy – day – ddspth
• 2.下次启动后永久生效----改文件 设置INITSID.ORA中的NLS_DATE_FORMAT参数可改变缺 省日期的格式。
PPT文档演模板
oracle数据库实用教程
表结构
• 1.建立 sql>create table table_name (column_name1 datatype [not null|unique], column_name2 datatype [not null|unique], column_name2 datatype [not null|unique] );
• 查询:
SELECT col1,col2,分组函数
FROM table1
WHERE conditions
GROUP BY col1,col2
HAVING condition
ORDER BY col1,col2
SELECT选择的列,必须出现在GROUP BY 子句中; GROUP BY 子句中的列只能是SELECT选择的列或分组函数中的列。 顺序无关。
PPT文档演模板
oracle数据库实用教程
非等值连接(NON-EQUIJOIN)
请分析下列语句: SELECT ENAME,SAL,GRADE FROM EMP,SALGRAD WHERE ENAME=‘SMITH’;
PPT文档演模板
SELECT *
SELECT ENAME,SAL,GRADEFROM SALGRAD; FROM EMP,SALGRAD WHERE ENAME=‘SMITH’
PPT文档演模板
oracle数据库实用教程
表
• 表结构(DDL) • create table • alter table • drop table • truncate table
• 表内容(DML) • insert • update • delete
PPT文档演模板
•desc table_name
PPT文档演模板
oracle数据库实用教程