SQL基础培训PT课件.ppt

  1. 1、本文档共203页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
更新基于另一个表的行 在UPDATE语句中用子查询来更新基于另一个表中值的那些 行 。 UPDATE copy_emp SET department_id = (SELECT department_id FROM employees WHERE employee_id = 100) WHERE job_id = any(SELECT job_id FROM employees WHERE employee_id = 200); 从表中删除行 使用DELETE语句从表中删除已存在的行 ?如果指定了WHERE子句,则指定的行被删除 DELETE FROM departments WHERE department_name = Finance; ?如果遗漏了WHERE子句,表中所有的行都被删除 DELETE FROM copy_emp; 注:删除所有行后,表的数据结构被保留。 建议的方法是: Truncate table copy_emp; 删除基于另一个表的行 在DELETE语句中用子查询来删除表中的基于另一个表中值 的行。 DELETE FROM employees WHERE department_id =any(SELECT department_id FROM departments WHERE department_name LIKE %Public%); MERGE语句 ?提供有条件地更新和插入数据到数据库表中的能力 ?如果行存在,执行UPDATE;如果是一个新行,执 行INSERT: –避免分散更新 –增进性能和易用性 –在数据仓库应用中有用 MERGE语句的语法 你能够用MERGE语句有条件地插入或更新表中的行 MERGE INTO table_nametable alias USING (table|view|sub_query) alias ON (join condition) WHEN MATCHED THEN UPDATE SET col1 = col_val1, col2 = col2_val WHEN NOT MATCHED THEN INSERT (column_list) VALUES (column_values); MERGE语句的语法(续) ? INTO子句 指定你正在更新或插入的目的表 ? USING子句 指定数据源要被更新或插入的数据的源;可以 是一 个表、视图或者子查询。 ? ON 子句 是一个条件,在此条件上MERGE操作即可以更新 也可以插入 ? WHEN MATCHED | 通知服务器怎样响应连接条件的结果 MERGE语句的例子 MERGE INTO copy_emp c USING employees e ON (c.employee_id = e.employee_id) WHEN MATCHED THEN UPDATE SET c.first_name = e.first_name, c.last_name = e.last_name, c.email = e.email, c.phone_number = e.phone_number, c.hire_date = e.hire_date, c.job_id = e.job_id, c.salary = e.salary, mission_pct = mission_pct, c.manager_id = e.manager_id, c.department_id = e.department_id WHEN NOT MATCHED THEN INSERT VALUES(e.employee_id,

文档评论(0)

ldj215323 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档