导图社区 oracle基础(一)
mysql,oracle,BI工程师,大数据,数据分析学习。oracle数据库函数,分析函数用于为行定义一个窗口,它对一组值进行操作,不需要使用GROUP BY子句对数据进行分组,能够在同一行中同时返回基础行的列和聚合列。
BI工程师-oracle分析函数笔记。oracle数据库函数,分析函数用于为行定义一个窗口,它对一组值进行操作,不需要使用GROUP BY子句对数据进行分组,能够在同一行中同时返回基础行的列和聚合列。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
oracle基础(一)
数据类型
number
数值
char
'字符串'
date
日期,''YYYYMMDD
DDL
创建表
CREATE TABLE
表名
列名
列类型
可以是NUMBER,CHAR,DATE
约束
唯一约束
UNIQUE
非空约束
NOT NULL
检查约束
CHECK
外键约束
FOREIGN KEY
主键约束
PRIMARY KEY
在SQL中可以使用 VIEW查看
分区
未说明
删除表
DROP TABLE
直接删除表
删除表数据
TRUNCATE TABLE
先删除表,再重建表及结构(空表)
修改表
ALTER TABLE + 表名
RENAME TO 重命名表名
修改表名
RENAME COLUMN 旧列名 TO 新列名
修改列名
MODIFY 列属性 + 列类型
修改列类型
DROP COLUMN +删除属性
删除一列
ADD + 增加属性+列类型
增加一列
DML
插入数据
INSERE INTO + 表名
单行插入数据
INSERT INTO 表名 VALUES(属性 列类型)
快速插入数据
快速建表CREATE TABLE EMP78 AS SELECT * FROM EMPP WHERE 1=2;-- 1=1赋值表结构和数据,1=2仅复制表结构
更新数据
UPDATE 表名 SET 属性及数据
UPDATE EMP SET ENAME='1' where 需要WHERE 做条件筛选,不然执行会修改所有数据
删除数据
子主题 1
DELETE FROM 表名
DELETE FROM EMP WHERE 需要WHERE 做条件筛选,不然执行会修改所有数据
展示数据
SELECT 查询
逻辑运算
目的:叠加多个筛选条件进行筛选数据
AND
OR
NOT
优先级 NOE >AND >OR
筛选条件
关系运算
> < >= <= = !=
|| 拼接符
范围查询
BETWEEN...AND...
IN
表示在in里面的范围做条件筛选
空值判断
IS NULL
IS NOT NULL
空值属性
模糊查询
_ 代表一个字符串
% 代表多个字符串
使用时需要使用 LIKE
子查询
表 FROM 子查询
单行单列 WHERE子查询
单行多列 IN子查询
FROM
数据库中的表
SELECT(子查询)
关联(表合并)JOIN
内连接
合并字段
笛卡尔积
基于关联条件,筛选数据
JOIN ON
左连接
LEFT JOIN ON
主表为左表
右链接
RIGHT JOIN ON
主表为右表
外链接(全连接)
FULL JOIN
并联的表均为主表,会保留全部数据
自连接
统计数据(聚合函数)
SUM 求和
MAX 最大值
MIN 最小值
COUNT 计数
AVG 平均数
HAVING的作用对象
分组统计
DISTINCT 去重
分组
GROUP BY
一旦使用GROUP BY做分组,表的对象由数据变为一组一组的数据
手动分组
并集去重
UNION
并集
UNION ALL
交集
INTERSRCT
补集
MINUS
统计问题的处理思路
1.确定对象
2.确定需要的对象的属性
3.基于属性做筛选,分组,统计,展示和排序
函数
数值函数
MOD(X,Y)
表示查询X/Y的余数
ROUND
四舍五入
TRUNC
截取
求精度
日期函数
求精度YEAR年、MONTH月、DAY周、DDD天
字符串函数
REPLACE 代替
SELECT 属性REPLACE(属性,‘数值’,‘修改的数值’)
SUBSTR 截取
抓取SELECT 属性 SUBSTR(列名,1,2)
1代表截取开始的位置,2代表截取长度,不输入的话默认截取结尾
DELETE 与TRUNCATE的区别
原理
DELETE
删除筛选行的数据
TRUNCATE
先把表删除,再创建空表
功能
不仅能删除全部数据,还能删除指定行数据
只删除全部数据
性能
删除大量数据是,性能较差
性能较快
GROUP BY 与DISTINCT的区别
1.执行顺序不同,DISTINCT是在select后执行,group by 是在from、where之后执行
2.原理不一样,DISTINCT是针对数据做去重;group by 是对数据做分组
3.如果有索引,group by的处理会比较快