




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Sql 补充SQL中转义符号的使用转义符号在什么时候出现歧义在select部分,出现歧义的只有单引号解决方案用两个单引号,比如 表示一个在where,having部分like条件中,出现歧义的符号有 % _解决方案对% _ 使用escape转义语句 对 还是使用老的招数在select 区域使用转义符号的例子insert into emp(empno,ename) values(1000,%_;,();select ename from emp where empno=1000;在where having的like区中使用转义符号select ename from emp where ename
2、 like %_% escape ;select ename from emp where ename like % escape ;select ename from emp where ename like % escape ;-该语句就是错误的,因为(不需要转义select ename from emp where ename like %(% escape ;注意发现一个奇怪的现象当使用&作为转义符号的时候,对_的转义变成空,其他无此现象.select ename from emp where ename like %&% escape &;执行结果正则表达式的介绍(10g的技术)在o
3、racle中引入正则表达式的使用,正则表达式是通过函数来实现.Regexp_like()Regexp_instr()Regexp_replace()Regexp_substr()正则表达式中的元字符 转义匹配符号n -换行 -(-(匹配开头A以A开头的字符串$匹配末尾$B以B结尾的字符串*匹配前面的字符多次Ba*rk匹配brk,bark,barrk,barrrrrrk正则表达式中的元字符+匹配前面的字符1次或多次Ba+rk表示什么字符呢?匹配前面字符0-1次n匹配前面字符恰好n次Hob2it匹配hobbitn,m匹配字符n= =20020101 and student_id30 with ch
4、eck option constraint cheap_prices_constraints触发器语法: create or replace trigger 触发器名 before | after | instead of 触发事件 on 表 for each row when 条件beginend;出发器例子create or replace trigger test_trigger after update of sal on emp for each row when(new.sal- old.sal)0)begin insert into mytable(my_name,my_sal)
5、 values(:old.ename,:new.sal); commit;end; 禁止使用触发器alert trigger 触发器名 disable|enableSQL优化使用where进行过滤.使用表关联查询,而不是多表查询.执行连接的使用使用完全限定的列引用.使用case.添加表的索引.使用where而不是having.使用union all而不是union.使用exists 而不是in.使用exists而不是distinct.使用绑定变量.rowidDBMS_ROWID.ROWID_CREATE (rowid_type IN NUMBER, object_number IN NUMBE
6、R, relative_fno IN NUMBER, block_number IN NUMBER, row_number IN NUMBER) RETURN ROWID; rowid的例子-create table ty-(-iid rowid not null primary key,-nam varchar2(20) not null-);-insert into ty(iid,nam) values(dbms_rowid.rowid_create(1, 6877,1,23722,0),louis);select * from ty;select rowid ,ename from em
7、p;Joinselect * from emp,dept where emp.deptno=dept.deptno;select * from emp join dept on emp.deptno=dept.deptno;select * from emp join dept using(deptno);join的类型Cross Joins/Cartesian Products Outer joins Equi- and non-equi-joins Self joins Cross Joins/Cartesian Productsselect * from emp cross join d
8、ept;返回行数emp*dept注意:不能添加条件Outer joinsFROM table1 LEFT | RIGHT | FULL OUTER JOIN table2 select * from emp left join dept on emp.deptno=dept.deptno;返回行数与emp相同select * from emp right join dept on emp.deptno=dept.deptno;返回的行数由emp的行数dept的不匹配行select * from emp full join dept on emp.deptno=dept.deptno;返回的行数匹配行数两个表的不匹配行数使用where进行过滤不要在查询结果中循环找需要的数据,尽量使用whereselect * from emp where empno in (7369,7499);使用case不用多表查询select count(case when sal 2000 then 1 el
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智慧安防保障城市安全的智能系统
- 从心理成长到创新教育的理论框架构建与实践
- 智慧城市公共安全的综合治理与大数据应用
- 学生创新能力培养的教育心理学策略
- 以教育技术为媒介探索增强学生学习动力和效率的新路径
- 当代办公室内应用个化学资料的有效性及其对于技术变革的响应
- 中职数学基础模块课件
- 企业级数据治理平台的构建与实践
- 医疗科技与智慧教育的深度融合探讨
- 机器人辅助的医疗教学与智能教育探索
- 人行雨棚施工方案
- 2025-2030中国晶圆键合系统行业市场发展趋势与前景展望战略分析研究报告
- 从校园到职场:新员工角色转换与职业化塑造
- 奶茶服务协议合同
- 学生食堂维修改造工程施工组织设计
- 书籍保密协议书范文
- 2025年章鱼小丸子项目可行性研究报告
- “中小学生每天至少2小时体育活动”的价值追求与实现路径研究
- 2024年四川成都农业科技中心招聘笔试真题
- 成都市房产抵押合同模板2025年
- 肾穿刺术的围手术期护理
评论
0/150
提交评论