oracle数据库基础学习(二)

前端之家收集整理的这篇文章主要介绍了oracle数据库基础学习(二)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Oraclesql语言:

sql全称:struct query language 结构化查询语言

四大类:

DDL:数据定义语言 create alter drop

DQL:数据查询语言 select

DML:数据操作语言 insert update delete

DCL:数据控制语言 grant revoke

TCL:事务控制语言 (DML可以操作) savepoint commit rollback to

事务保存点:savepoint 保存点的名

事务回滚:rollback to 保存点

事务手动提交: commit

DML语句提交的情况(DQL不会造成自动提交):

l一条显式的commit语句

l一条DDL语句或者DCL语句(相当于commit


select*fromemp orderbyhiredate desc

注明:默认是升序(asc)


语法:

Select *|列名(字段名)

From 表名

Where 条件【or|in|like

Group by 分组

Having 分组条件

Order by 排序desc asc


知识点三:Oracle中的预定义(内置)函数 - 效率高

函数分类

单值函数:有且只有返回唯一的一个值的函数

|- 字符函数:处理字符串

|- 数学函数:处理数字

|- 日期函数:时间进行处理

|- 转换函数:类型间转换

|- 混合函数:特定功能

分组函数:类似聚合函数count,sum,avg

1:字符函数

问题1: 把员工姓名和工作类型连接在一起,中间用“-”分割显示

函数:字符串连接函数 concat

语法:concat(字符串1,字符串2)

2.日期或时间函数运算规则:日期相减=天数日期-日期=天数

问题1:查询显示系统时间

函数:时间函数sysdate

语法:sysdate

3 数字函数

问题1:按每月30天计算员工的每日工资,要求计算结果四舍五入到小数点后2位

函数:round

语法:round(数字,精度)


4 转换函数语法:to_char(时间,格式)

6 分组函数sumavgcountmaxmin

问题1显示部门30中所有员工的工资总和

函数sum 求和函数


Select *|列名(字段名)

From 表名

Where 条件【or|in|like

Group by 分组

Having 分组条件

Order by 排序desc asc


知识点四:多表查询 emp dept

分为4

1、等连接

2、不等连接

3、外连接

4、自连接

3-1、等连接

问题:显示员工姓名及所在部门的名称

分析:姓名-emp.ename

部门名称-dept.dname

关系:emp(deptno) ódept(deptno)


3-2、不等连接

问题:显示员工的编号,姓名,工资,以及工资所对应的级别。

分析:员工编号-empno,姓名-ename,工资-sal,工资等级-grade

关系:emp(sal) between salgrade(LOSAL) and salgrade(HISAL)

3-3、外连接

问题:查询所有部门名称和对应的员工姓名,若该部门没有员工,只显示部门名称

分析: 部门名称 dept.dname

员工姓名 emp.ename

Oracle中使用(+)表示外连接,可以理解(+) 所在字段的对侧(以=分开左右两部分)为主要显示信息

3-3、自连接(等连接,)

问题:显示员工姓名及其上级员工的姓名

分析:员工姓名emp.ename

上级员工姓名 emp.name

猜你在找的Oracle相关文章