




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Sql语句分类1、数据操纵语句DML从一个或多个表或视图中查询数据(SELECT)向表或视图中加入新数据行(INSERT)修改表或视图中已有数据行的列值(UPDATE)根据判断条件为表及视图插入或更新数据行(MERGE)从表或视图中删除数据行(DELETE)2、数据定义语句DDL创建,修改,移除方案对象及其他数据库结构,包括数据库自身及数据库用户(CREATE,ALTER,DROP)修改方案对象名称(RENAME)删除方案对象的所有数据,但不移除对象结构(TRUNCATE)授予或收回权限及角色(GRANT,REVOKE)3、数据控制语句DCLALTER SYSTEM是唯一的系统控制语句。定义,
2、分配,及释放游标cursor(DECLARE CURSOR,OPEN,CLOSE)分配变量名(DECLARE STATEMENT)解析并执行 SQL 语句(PREPARE,EXECUTE,EXECUTE IMMEDIATE)从数据库中取回数据(FETCH)4、事务控制语句TCL 将事务对数据的修改永久地保存到数据库(COMMIT)还原事务对数据的修改,可还原到事务开始处或任意保存点(ROLLBACK)Sql语句基础1、select语句基本语法SELECT * | all | column1,column2 FROM table1 ,table2 WHERE condition GROUP BY
3、 column1 ORDER BY column2(asc,desc) 2、最简单的select语句查询T_AB01表所有列和所有记录Select * from t_ab013、指定列查询查询T_AB01表单位编号,单位名称,单位性质select aab001,aab004,aab019 from t_ab014、使用distinct关键字按指定列过滤重复记录(查询T_AB01表中有几种单位性质)select distinct aab019 from t_ab015、使用rownum关键字限制查询记录数select * from t_ab01 where rownum=1select * fr
4、om t_ab01 where rownum<=1006、改变列显示标题(as)select aab001 as 单位编号, aab004 as 单位名称, aab019 as 单位from t_ab017、设置查询条件查询从t_ac01表中查询姓名是 张玲玲,单位编号人员基本信息。select * from t_ac01 where aac003='张玲玲' and aab001='#39;从t_ac01表中查询单位编号13020105415性别为男的人员基本信息。select * fr
5、om t_ac01 where (aab001='#39; or aab001='#39;) and aac004='1'8、In关键字的使用查询单位性质是全额或差额的单位基本信息select * from t_ab01 where aab019 in('21','22')select * from t_ab01 where aab019='21' or aab019='22'in条件中是结果集的查询查询ac01表的单位编号存在表t_ab01中的记录。
6、select * from t_ac01 where aab001 in(select aab001 from t_ab01)not in的使用查询ac01表的单位编号不在表t_ab01中的记录。select * from t_ac01 where aab001 not in(select aab001 from t_ab01)9、模糊查询(like)左匹配select * from t_ac01 where aac003 like '张%'右匹配select * from t_ac01 where aac003 like '%亮'全匹配select * fro
7、m t_ac01 where aac003 like '%军%'10、对查询结果集进行排序(order by )按单位编号升序然后再按单位名称降序select * from t_ab01 order by aab001 asc,aab004 desc11、分组统计(group by having)计算每个单位有多少人select aab001,count(1) from t_ac01 group by aab001人数超过300人的单位select aab001,count(1) from t_ac01 group by aab001 having count(1)>=3
8、00Having 对分组后的结果集进行条件过滤,类似where, Having还可以对聚合函数进行过滤。12、连接查询内连接即等值连接T_ac01与t_ab01关联显示单位名称select t_ac01.aac001, t_ac01.aac003, t_ab01.aab001, t_ab01.aab004 from t_ac01, t_ab01 where t_ac01.aab001 = t_ab01.aab001左关联(以t_ac01数据为基准,进行单位编号的关联)select t_ac01.aac001, t_ac01.aac003, t_ab01.aab001, t_ab01.aab00
9、4 from t_ac01, t_ab01 where t_ac01.aab001 = t_ab01.aab001(+)右关联(以t_ab01数据为基准,进行单位编号的关联)select t_ac01.aac001, t_ac01.aac003, t_ab01.aab001, t_ab01.aab004 from t_ac01, t_ab01 where t_ac01.aab001(+) = t_ab01.aab00113、连接查询中对空值的判断Is null查询t_ab01表中单位性质为空的单位基本信息表select * from t_ab01 where aab019 is nullIs
10、not null查询t_ab01表中单位性质不为空的单位基本信息表select * from t_ab01 where aab019 is not null14、子查询字段代码值关联参数表将t_ab01的aab019字段关联参数表,将代码显示为汉字select aab001, aab004, (select aaa103 from t_aa10 where aaa100 = 'AAB019' and aab019 = aaa102) from t_ab01将结果集虚拟成一个表查询每个单位的人数select b.rs, a.aab001, a.aab004from t_ab01
11、a, (select count(1) rs, aab001 from t_ac01 group by aab001) b where a.aab001 = b.aab00115、exists 关键字的使用使用情况:当子查询结果集很多时效率要高于in查询单位编号在表t_ab01中所有人的记录。select * from t_ac01 where exists (select 1 from t_ab01 where aab001=t_ac01.aab001)查询单位编号不在表t_ab01中所有人的记录。select * from t_ac01 where not exists (select 1
12、 from t_ab01 where aab001=t_ac01.aab001)16、union的使用union将t_ab01,t_ab01_2015两表记录联合,重复记录只显示一条create table t_ab01_2015 as select * from t_ab01;select aab001,aab004 from t_ab01unionselect aab001,aab004 from t_ab01_2015注意:联合的两个表尽量不要重复union all将t_ab01,t_ab01_2015两表记录联合,不做记录重复性检查,效率高于unionselect aab001,aab
13、004 from t_ab01union allselect aab001,aab004 from t_ab01_201517、decode函数的使用将t_ac01性别为1的显示男,为2的显示女,其它显示不清楚select aac001,aac003,aac004,decode(aac004,'1','男','2','女','不清楚') from t_ac0118、case语句的使用将t_ac01性别为1的显示男,为2的显示女,其它显示不清楚select aac001, aac003, case when aac0
14、04 = '1' then '男' when aac004 = '2' then '女' else '不清楚' endfrom t_ac01case功能要比decode函数功能强大,when条件能写复杂的表达式18、nvl函数的使用一般使用在在对数值列进行处理nvl(column,0),也可对为空的字符进行处理19、创建表来自查询Create table t_ab01_2015 as select * from t_ab01;注意:这种创建方式不包含主键索引及外键,只有表结构和数据。一般用于备份表数据,此方式一般不
15、适用于大数据量的备份(少于500万条记录一般可以采用此方法)。20、Insert语句语法INSERT INTO table_name(column1,column2.) VALUES(value1,value2,.)21、Insert指定字段进行记录插入Create table yanptest as select aac001, aac003 from t_ac01 where 1=2;insert into yanptest (aac001, aac003)values ('111', '张三');Commit;22、Insert数据来自别的表查询的结果集i
16、nsert into yanptest (aac001,aac003) select aac001,aac003 from t_ac01 where rownum <= 1000;Commit;23、Delete语句语法DELETE FROM table_name WHERE condition删除姓名为张三的人员信息delete from yanptest where aac003='张三'Commit;24、Truncate语句清空表所有记录,效率远高于delete语句Truncate table yanptest;25、update语句语法UPDATE table_
17、nameSET column_name1 = value1, column_name2 = value2WHERE condition将t_ac01中aac004性别为空的设置为9update t_ac01 set aac004='9' where aac004 is null;Commit;oracle常用函数1、统计函数COUNT:统计记录数SUM:求和MAX:求最大值MIN:求最小值AVG:求平均值统计t_ac01中有多少条记录select count(1) from t_ac01;2、字符函数UPPER(character string):将指定字符串中的小写字母换成大
18、写字母select upper('abcde') from dual;LOWER (character string): 将指定字符串中的大写字母换成小写字母select lower('ABCDE') from dualSUBSTR(colunm name,startposition,length) 从指定字符串中取字符select substr('12345',1,2) from dual显示:12Trim (character string)可以从开头或结尾(或同时)去掉字符串空格update yanptest set aac001=trim
19、(aac001);length (character string)返回字符串长度select length('12345') from dual;显示53、类型转换函数to_char () 将字段类型转换成字符串将出生日期转换为年月select to_char(aac006,'yyyymm') from t_ac01;select aac006,t_ac01.* from t_ac01 where to_char(aac006,'yyyymm')='198001'to_date() 将字段类型转换成日期select aac006,t_ac01.* from t_ac01 where aac006>=to_date('198001','yyyymm');to_number() 将字段类型转换成数值select to_number('12345.11') from dual;4、算术函数ABS(绝对值
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 急症抢救操作流程
- 针对复习的CFA试题及答案传授
- 2024年特许金融分析师考试必考试题及答案
- 《第十四章 整式的乘法与因式分解》专题复习与单元检测试卷
- 追随百岁老人探寻长寿秘诀
- 心肌梗死的主要护理诊断
- 2024年特许金融分析师考试考生心声分享试题及答案
- 山东省郯城第一中学2024-2025学年高三下学期第二次模拟考试地理试题(原卷版)
- 湖北省襄阳市第四中学2024-2025学年高一下学期2月月考地理试题(原卷版)
- 教学课件说明范文
- 空调供货方案
- 6S管理控制程序文件
- 23J916-1 住宅排气道(一)
- 精装修项目主要分项工程施工技术方案
- 四川省成都市航天中学2025届高三二诊模拟考试物理试卷含解析
- 项目部施工班组管理办法
- 光伏车棚施工方案
- 中华人民共和国职业分类大典是(专业职业分类明细)
- 《浙江省建设工程专业工程师和高级工程师职务任职资格评价条件》
- CJT486-2015 土壤固化外加剂
- 重庆康德卷2025届高一物理第二学期期末考试模拟试题含解析
评论
0/150
提交评论