《Oracle 11g SQL 和PL SQL从入门到精通》 学习笔记

查询日期列:
      例:以特定格式显示日期结果(修改nls_date_format属性)
          ALTER SESSION SET nls_date_format='YYYY''年''MM''月''DD''日''';--------->2017年03月08日

NVL 函数处理NUll :NVL(a_s,0)   --如果a_s 存在数值,则返回其原有数值,如果a_s列为null ,则函数返回0;


                  NVL2(a_s,b_s+a_s,sa)               --如果a_s 不为空则返回b_s与a_s计算的值 否则返回sa

连接字符串
    方法一:   使用|| 操作符
    方法二:   使用concat 函数     concat('a','bd')---------->'abd'


常规比较符: =(等于)、<>(不等于)、!=(不等于)、>=(大于等于)、<=(小于等于)、>(大于)、<(小于)

其他比较符: between...and...(介于..与..之间)、in(在..之中)、is null(为空)

模糊查询 like    使用通配符%    列名  like 'S%'----------->列名以S开始的列
                 使用通配符_和%    列名 like '_S%'------------> 第三个字符为S的列
                 处理字符值包含_或者%的模糊查询    列名 like '%a_%' escape 'a' ---------->a为制定转义字符的名称

逻辑操作符:and、or、not (not优先级最高,and 其次,or优先级最低)


排序: order by  列名\列别名\列位置  ASC ---->指定列升序排列    (ASC指定升序<默认> DESC 指定降序 )
       注:当select 语句中包含多个字句(where/group by/having/order by等)时,order by必须是最后一个子句
       多列排序:order by a ASC,b DESC   ----------->首先按照第一列进行排序,当第一列存在相同数据时,以第二列进行排序,

                                                     以此类推。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

左连接 left join :返回满足连接条件的数据,以及不满足连接条件的左边表的其他数据

右连接 right join :返回满足连接条件的数据,以及不满足连接条件的右边表的其他数据

完全连接 full join:返回满足连接条件的数据,以及不满足连接条件的左边表和右边表的其他数据


数据分组是通过分组函数、GROUP BY 以及HAVING等子句共同实现的
 
常用分组函数:
     1.max(取得列最大值)和min(取得列最小值)
     2.avg(平均值)和sum(和)------->只适用于数字
     3.count(统计总行数)
     4.variance(方差<如果只有一行数据 返回0 当存在多行数据时 按照
                     (sum(expr^2)-sum(expr^2))/count(expr)/(count(expr)-1) 计算>)
        stddev (标准偏差<方差的平方>)


集合操作符 :union、union all、intersect、minus
             union :取两个结果集的并集,会自动去掉结果集中的重复行,并且以第一列的结果进行升序排序
             union all:取并集不取消重复值也不进行排序
             intersect:取交集只显示同时存在于两个结果集中的数据,以第一列的结果进行升序排序
             minus:取差集 以第一列结果升序排序

条件表达式
decode('a','对比值1','返回值1','对比值2','返回值2','返回值3');-->如果a=对比值1 返回返回值1 如果a=对比值2 返回返回值2 否则返回返回值3

case when a<100 then '1' when a>100 then '0' else '-1' end;-->如果a<100返回 1 如果a>100返回0 否则返回-1

----------------------------------------------------------------------------------------------------------

统计一张表中有多少个字段

select count(*) from user_tab_columns where table_name=upper('表名')





内容简介   本书是专门为oracle应用开发人员提供的sqlpl/sql编程指南。通过学习本书,读者不仅可以掌握oracle常用工具oracle universal installer、net comfiguration assistant、sql developer、sql*plus的作用及使用方法,而且可以掌握sql语句和pl/sql的各种基础知识和高级特征(记录类型、集合类型、对象类型、大对象类型)。   除了为读者提供编写sql语句和开发pl/sql块的方法外,本书还为应用开发人员提供了一些常用的pl/sql系统包。通过使用这些pl/sql系统包,应用开发人员可以开发出功能更强大的数据库应用程序。本书不仅适合sqlpl/sql初学者,也适合于有经验的oracle应用开发人员。 前言 第一部分 sqlpl/sql相关工具  第1章 在windows 平台上安装oracle database 11g  第2章 配置网络服务名  第3章 使用sql database  第4章 使用sql*plus 第二部分 sql  第5章 sqlpl/sql综述  第6章 简单查询  第7章 sql单行函数  第8章 操纵数据  第9章 复杂查询  第10章 管理常用对象 第三部分 pl/sql  第11章 pl/sql基础  第12章 访问oracle  第13章 编写控制结构  第14章 使用复合数据类型  第15章 使用游标  第16章 异常处理 . 第17章 本地动态sql  第18章 pl/sql过程  第19章 pl/sql函数  第20章 pl/sql包  第21章 触发器  第22章 使用对象类型 第四部分 pl/sql系统包  第23章 使用大对象  第24章 读写os文件  第25章 开发多媒体应用  第26章 开发web应用  第27章 dbms_sq动态sql  第28章 管理统计  第29章 使用数据库资源管理器  第30章 数据加密和解密  第31章 使用调度程序  第32章 使用flashback  第33章 使用重定义联机表  第34章 修正损坏块  第35章 使用日里民挖掘  第36章 使用管道  第37章 使用精细访问控制  第38章 使用精细审计  第39章 使用预警事件  第40章 转换rowid  第41章 其他常用包 习题答案
谢谢大家的支持,我会陆续上传相关电子书 由于体积较大,本书分两卷压缩,请都下载完再解压! Oracle 11g SQLPL SQL从入门到精通 pdf格式电子书 下载(一) http://download.csdn.net/source/3268267 Oracle 11g SQLPL SQL从入门到精通 pdf格式电子书 下载(二) http://download.csdn.net/source/3268312 内容简介   本书是专门为oracle应用开发人员提供的sqlpl/sql编程指南。通过学习本书,读者不仅可以掌握oracle常用工具oracle universal installer、net comfiguration assistant、sql developer、sql*plus的作用及使用方法,而且可以掌握sql语句和pl/sql的各种基础知识和高级特征(记录类型、集合类型、对象类型、大对象类型)。   除了为读者提供编写sql语句和开发pl/sql块的方法外,本书还为应用开发人员提供了一些常用的pl/sql系统包。通过使用这些pl/sql系统包,应用开发人员可以开发出功能更强大的数据库应用程序。本书不仅适合sqlpl/sql初学者,也适合于有经验的oracle应用开发人员。 前言 第一部分 sqlpl/sql相关工具  第1章 在windows 平台上安装oracle database 11g  第2章 配置网络服务名  第3章 使用sql database  第4章 使用sql*plus 第二部分 sql  第5章 sqlpl/sql综述  第6章 简单查询  第7章 sql单行函数  第8章 操纵数据  第9章 复杂查询  第10章 管理常用对象 第三部分 pl/sql  第11章 pl/sql基础  第12章 访问oracle  第13章 编写控制结构  第14章 使用复合数据类型  第15章 使用游标  第16章 异常处理 . 第17章 本地动态sql  第18章 pl/sql过程  第19章 pl/sql函数  第20章 pl/sql包  第21章 触发器  第22章 使用对象类型 第四部分 pl/sql系统包  第23章 使用大对象  第24章 读写os文件  第25章 开发多媒体应用  第26章 开发web应用  第27章 dbms_sq动态sql  第28章 管理统计  第29章 使用数据库资源管理器  第30章 数据加密和解密  第31章 使用调度程序  第32章 使用flashback  第33章 使用重定义联机表  第34章 修正损坏块  第35章 使用日里民挖掘  第36章 使用管道  第37章 使用精细访问控制  第38章 使用精细审计  第39章 使用预警事件  第40章 转换rowid  第41章 其他常用包 习题答案
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tiegenZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值