sql学习笔记

第一单元 SELECT语句
1.SELECT … FROM …
2.NULL
3.字符串连接操作符 ||
4.DISTINCT去除重复行
第二单元 条件限制和排序
1.条件限制关键词 WHERE
2.比较操作符 = > < >= <= <> BETWEEN…AND… IN(set) LIKE(搜索通配符本身—>escape指定转义字符) IS NULL
3.使用多个条件组合的逻辑操作符 AND OR NOT
4.ORDER BY ASC DESC
第三单元 单行函数
1.字符函数
大小写转换 LOWER UPPER INITCAP
字符串操作 CONCAT SUBSTR LENGTH INSTR LPAD RPAD TRIM
2.数字操作函数 ROUND TRUNC MOD
3.日期操作函数 MONTHS_BETWEEN ADD_MONTHS NEXT_DAY LAST_DAY ROUND TRUNC
‘YYYY/MM/DD HH24:MI:SS’;
‘MM-DD-YYYY’;
‘DD-MM-RR’;
‘DD-MM-YY’;
日期的运算操作
4.不同类型的数据转换函数
TO_CHAR()数字到字符串的转换
TO_NUMBER()字符串到数字的转换
TO_DATE()字符串到日期的转换
5.函数嵌套
6.其他常用单行函数 NVL NVL2 NULLIF COALESCE
7.条件表达式
CASE语句:
CASE … WHEN … THEN …
[WHEN … THEN …
ELSE …]
END
DECODE函数
第四单元 多表关联查询
等于链接
不等链接 > < != between
外链接 左外链接 右外链接
自链接
SQL1999:
交叉连接=没有连接条件的多表关联查询
自然链接=等于连接
Using子句
内连接=等于连接 INNER JOIN
外连接:左外连接、右外连接、全外连接
第五单元 分组计算函数和GROUP BY子句
1.求和SUM
2.求平均值AVG
3.计数COUNT
4.求标准差STDDEV
5.求方差VARIANCE
6.求最大值MAX
7.求最小值MIN
8.COUNT函数
COUNT(*)
COUNT(expr)
COUNT(DISTINCT expr)
第六单元 子查询
单行比较必须对应单行子查询(返回单一结果值的查询); 比如= , > 多行比较必须对应多行子查询(返回一个数据集合的查询);比如 IN , > ANY, > ALL 等
第七单元 DML语句 DATA MANIPULATION LANGUAGE:增、删、改
1.INSERT语句
2.UPDATE语句
3.DELETE语句(慎用)
TRUNCATE语句(删除后无法恢复)
5.MERGE语句:比较整合语句
第七单元 事务控制
第八单元 锁
查锁
第九单元 数据库对象–锁
1.表的命名要求和表中列的命名要求
2.建表语句的语法
3.从一个子查询快速建表的语法
4.更改表的语法:
添加列
ALTER TABLE table
ADD
更改列MODIFY
删除列DROP
删除表DROP TABLE table
更改表名RENAME oldtablename TO newtablename
一次性清空一张表中的所有内容,但保留表的结构TRUNCATE TABLE tablename
第十单元 数据库对象-约束
1.NOT NULL 非空约束
2.UNIQUE 唯一性约束
3.PRIMARY KEY 主键约束
4.FOREIGN KEY 外键约束
5.CHECK 自定义约束
6.在剪标的同时建立约束
7.单独创建约束
8.删除约束
9.失效/生效约束
10.查询系统中存在的约束
第十一单元 数据库对象-视图
1.创建视图 CREATE VIEW viewname AS SELECT … FROM … WHERE …
2.删除视图DROP VIEW viewname
3.TOP-N查询
第十二单元 数据库对象-序列、索引、同义词
1.序列
序列的创建:CREATE SEQUENCE
从序列取值:CURRVAL取当前值,NEXTVAL取下一个值
序列使用:
更改序列定义:ALTER SEQUENCE
删除序列:DROP SEQUENCE
2.索引
索引的创建:CREATE INDEX … ON …(…)
函数索引:
3.同义词
CREATE SYNONYM Table1 FOR B.Table1
前缀、@后缀
第十三单元 控制用户权限
1.赋予权限
2.通过数据字典查询数据中的赋权情况
3.收回权限
4.数据库连接DATABASE LINK
第十三单元 使用集合操作
1.并集UNION去除重复记录/UNION ALL保留重复记录
2.交集INTERSECT
3.差集MINUS
第十四单元 GROUP BY 子句的增强
1.中使用Rollup 产生常规分组汇总行 以及分组小计
2.中使用Cube 产生Rollup结果集 + 多维度的交叉表数据源
3.GROUPING函数
4.GROUPING SETS替代多次UNION
第十五单元 子查询进阶
1.使用Exists
2.使用Not Exists
3.在UPDATE语句中使用相关子查询
4.在DELETE语句中 使用相关子查询
5.使用WITH子句???
第十六单元 递归查询
1.遍历方向PRIOR
2.使用LEVEL关键字和 LPAD函数 ,在OUTPUT中显示树形层次。
第十七单元 INSERT增强
1.一个来源插入多个目标表(无条件)
2.一个来源插入多个目标表(有条件)
3.一个来源插入多个目标表(有条件,首次匹配即跳到下一条)。
4.列转行(一行变多行,交叉报表的反操作)。
第十八单元 SQL进阶功能
1.分析函数!
2.闪回!查询之前一段时间内修改行原先的值
3.全局临时表
4.物化视图!。在一段时间内保存 固定的数据,提供自动刷新和手动刷新的机制。
CREATE MATERIALIZED VIEW materialized_view_name BUILD [IMMEDIATE|DEFERRED] –1. 创建方式
REFRESH [COMPLETE|FAST|FORCE|NEVER] –2. 物化视图刷新方式
ON [COMMIT|DEMAND] –3. 刷新触发方式
START WITH (start_date) –4. 开始时间
NEXT (interval_date) –5. 间隔时间
WITH [PRIMARY KEY|ROWID] –6. 默认 primary key ENABLE QUERY REWRITE –7. 是否启用查询重写
AS –8. 关键字
SELECT STATEMENT; –9. 基表选取数据的 select 语句
5.一些字符函数的不同
length是字符个数,lengthb指的是字节数。 substr是按字来取值,substrb是按字节来取值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值