oracle-基础语法 (函数,语法)

基础概念:
一个数据库有多个表空间,一个表空间多个用户,一个用户多张表。

1、创建表空间
create tablespace itcast
datafile 'c:\itcast.dbf'
size 100m
autoextend on
next 10m
2、创建用户
create user itcastuser  -- 用户名
identified by itcast  -- 密码
default tablespace itcast  -- 表空间
3、用户权限
	新创建的用户没有任何权限,授权
	grant dba to itcastuser

已存在三个重要的角色: connect 角色, resource 角色, dba 角色。

	CONNECT 角色: --是授予最终用户的典型权利,最基本的
	RESOURCE 角色: --是授予开发人员的
	DBA 角色: 拥有全部特权,是系统最高权限,只有 DBA 才可以创建数据库结构,并且系统权限也需要 DBA 授出,且 DBA 用户可以操作全体用户的任意基表,包括删除
4 字符函数

4.1把小写的字符转换成大小的字符

upper('smith')
select upper('aaa')from dual

4.2 把大写字符变成小写字符

lower('SMITH')
select upper('AAA')from dual
4 字符函数

4.1 四舍五入函数: ROUND()

select round(12.34)from dual --12,默认四舍五入取整
select round(12.345,2)from dual --12.35 保留两位小数

4.2 数值截取函数,取余函数

5 日期函数

5.1 在日期加减时有一些规律

日期 – 数字 = 日期
日期 + 数字 = 日期
日期 – 日期 = 数字

5.2 获得两个时间段中的月数: MONTHS_BETWEEN()

查询雇员的进入公司的周数
select ename,round( (sysdate - '入职日期') / 7 ) from emp
查询所有雇员进入公司的月数
select ename,round( MONTHS_BETWEEN(sysdate - '入职日期') ) from emp
6 转换函数

6.1 TO_CHAR:字符串转换函数

不够两位查询自动补齐两位---2000-10-09
select name,to_char(birthday,'yyyy-mm-dd') from person; 
 fm 将补的0抹去---2000-10-9
select name,to_char(birthday,'fmyyyy-mm-dd') from person;

6.2 TO_DATE:日期转换函数

将字符串数据转为日期  1994/3/3 自动去掉0 
select to_date('1994-03-3','yyyy-mm-dd') from dual;
7 空值计算处理 nvl

comm (奖金)有些是空值,空值参与计算,结果是空值
在这里插入图片描述
计算查询结果
在这里插入图片描述
使用nvl(file,0),对空值做处理在这里插入图片描述

8 判断条件 case when 条件 then ‘’
select t.empno,
	t.ename,
		case
		when t.job = 'CLERK' then '业务员'
		when t.job = 'MANAGER' then '经理'
		when t.job = 'ANALYST' then '分析员'
		eles '其他'
		end 职位
from emp;
9 聚合函数

9.1 count()
select count(ename) from emp;
9.2 min()
select min(sal) from emp;
9.3 max()
select max(sal) from emp;
9.4 avg()
select avg(sal) from emp;
9.5 sum()
select sum(sal) from emp;

10 分组统计 group by()

select 后的字段要有分组字段
查询每个部门的人数
select deptno ,count(*)
from emp
group by deptno

11 多表查询

支持 逗号,inner join ,left join ,right join 查询
在这里插入图片描述
右连接
员工中没有部门=40的员工
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值