SQL培训.pptVIP

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL培训

SQL书写 程序中,where条件两边的数据类型要一致,避免出现数据转换 A:=10.0; In 和 exists的替换写法 select deptno from dept where deptno not in (select deptno from emp) 建议写成: select deptno from dept, emp where dept.deptno = emp.deptno(+) and emp.deptno is null 一些不常用的SQL用法 多表插入 INSERT ALL INTO sal_history VALUES(EMPID,HIREDATE,SAL) INTO mgr_history VALUES(EMPID,MGR,SAL) SELECT employee_id EMPID, hire_date HIREDATE, salary SAL, manager_id MGR FROM employees WHERE employee_id 200; 应用于事物要求性比较高的情况。 例如,通过一个SQL实现多表插入,如果成功就都插入,失败则都回滚。日常,实现这样的情况,需要启动事物,这里可以通过一个SQL实现,不需要启动事物 一些不常用的SQL用法 带返回值的Update UPDATE cust_data SET cust_no = aa, WHERE cust_add = tp1 RETURNING nme,tel INTO V_nme_J,V_tel 常用于事物密集型操作 例如,修改账户余额。通常的做法是,首先update,然后select,但是这中间会存在一个时间差,导致select结果不正确。这时可以按照此法使用,获得准确的返回值 一些不常用的SQL用法 递归Select select * from emp start with ename=KING connect by prior empno=mgr 产生树形结构 Direction Top down Column1 = Parent Key Column2 = Child Key Bottom up Column1 = Child Key Column2 = Parent Key 一些不常用的SQL用法 With语句 WITH dept_costs AS ( SELECT d.department_name, SUM(e.salary) AS dept_total FROM employees e, departments d WHERE e.department_id = d.department_id GROUP BY d.department_name), avg_cost AS ( SELECT SUM(dept_total)/COUNT(*) AS dept_avg FROM dept_costs) SELECT * FROM dept_costs WHERE dept_total (SELECT dept_avg FROM avg_cost) ORDER BY department_name; 用途 一般用在需要多次调用一个子查询的情况 使用时,会自动构造一个临时表,这个临时表只是在SQL执行期存在,然后后续的SQL会根据临时表的内容进行,可以查看他的SQL执行计划 一些不常用的SQL用法 使用“数组”代替游标 Record + table + bulk collect Myccc.first myccc.count my.last PL/SQL Developer 使用Oracle Instant Client 设置OCI 编写批处理文件,设置字符集 不使用TNSNAMES.ora登录数据库 * 内连接:员工情况列表,显示员工编号、员工姓名、所在部门 select EMPNO,ENAME,DNAME from dept,emp where dept.deptno=emp.deptno 外连接:部门情况列表,显示部门编号、部门名称、所属员工姓名 select dept.DEPTNO,DNAME,ENAME from dept,emp where dept.deptno=emp.deptno(+) order by deptno 自连接:上下级关系列表,select leader.empno,leader.ename,sub.empno,sub.ename from

文档评论(0)

yaoyaoba + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档