通过表关联删除记录

需求描述

需求:删除dept表里deptno和temp相同的记录,但数据不可再恢复.

解决方法:这里通过DELETE FROM tableNAME A JOIN tableName B …方式来删除数据.

注: 数据库数据集SQL脚本详见如下链接地址

员工表结构和数据初始化SQL脚本

SQL代码

-- Sql server:
BEGIN TRANSELECT * FROM dept;DELETE FROM deptFROM dept AJOIN temp BON A.deptno = B.deptnoSELECT * FROM dept;ROLLBACK TRAN--Mysql:
BEGIN;
SELECT * FROM dept A;
-- JOIN temp B
-- ON A.deptno = B.deptnoDELETE A FROM  dept A
INNER JOIN temp B
ON A.deptno = B.deptno AND B.deptno=40;--或者见下
DELETE dept FROM  dept,temp
WHERE dept.deptno = temp.deptno AND temp.deptno=40;SELECT * FROM dept;
-- 不难发现,这里dept表里deptno=40的记录被删除了.
ROLLBACK;

执行结果

-- Oracle:
INSERT INTO dept VALUES(50,'Production','Nanjing');
INSERT INTO temp(deptno,deptname,loc,empno,ename,sal)
SELECT 50,'Production','Nanjing',7369,'SMITH2',1000 FROM DUAL;
DELETE FROM dept WHERE EXISTS (SELECT 1 FROM TEMP WHERE dept.deptno = temp.deptno)

表的插入、更新、删除、合并操作_19_通过表关联删除记录相关推荐

  1. pg批量插入_PostgreSQL实现批量插入、更新与合并操作的方法

    前言 就在 2019 年 1 月份微软收购了 PostgreSQL 数据库的初创公司 CitusData, 在云数据库方面可以增强与 AWS 的竟争.AWS 的 RDS 两大开源数据库就是 MySQL ...

  2. PostgreSQL实现批量插入、更新与合并操作的方法_PostgreSQL_脚本之家

    前言 就在 2019 年 1 月份微软收购了 PostgreSQL 数据库的初创公司 CitusData, 在云数据库方面可以增强与 AWS 的竟争.AWS 的 RDS 两大开源数据库就是 MySQL ...

  3. 表的插入、更新、删除、合并操作_20_通过表关联删除多张表

    通过表关联删除多张表 需求描述 需求:删除dept表里deptno和temp相同的记录,但数据不可再恢复. 解决方法:这里通过DELETE FROM A,B FROM tableNAME A JOIN ...

  4. php创建表并插入数据,php数据库操作-创建库和表以及插入数据

    以上我们正确连接到了mysql数据库,本文将进一步创建数据库,表,在表中填充数据. 大家知道连接上数据库才能进行操作,同样的代码搬过来 /* * 数据库操作*(创建数据库,表,插入数据,插入多条数据) ...

  5. mysql单表数据列_MySQL 之 数据操作及单表查询

    1.数据操作 (1)insert 增加数据 1. 插入完整数据(顺序插入) 语法一: INSERT INTO 表名(字段1,字段2,字段3-字段n) VALUES(值1,值2,值3-值n); 语法二: ...

  6. 表的插入、更新、删除、合并操作_18_清空表中记录

    清空表中记录 需求描述 需求:删除dept表里deptno为50的记录,但数据不可再恢复. 解决方法:这里通过TRUNCATE TABLE TableName方式来删除数据. 注: 数据库数据集SQL ...

  7. 表的插入、更新、删除、合并操作_14_ 通过表关联更新多个表多个字段

    通过表关联更新多个表多个字段 需求描述 需求:更新emp表里的sal字段的值为temp表里的sal乘以1.5,同时更新temp表里ename为emp表里的值,匹配条件是两个表的deptno. 解决方法 ...

  8. 表的插入、更新、删除、合并操作_13_通过表关联更新多个字段

    通过表关联更新多个字段 需求描述 需求:更新emp表里的sal字段的值为temp表里的sal乘以1.5,同时更新ename为temp表里的值, 匹配条件是两个表的deptno.. 解决方法:这里通过U ...

  9. 表的插入、更新、删除、合并操作_12_通过表关联更新表

    通过表关联更新表 需求描述 需求:更新emp表里的sal字段的值为temp表里的sal乘以1.5,这些员工号同时出现在在temp表中. 解决方法:这里通过UPDATE TableName SET Co ...

最新文章

  1. 2021年大数据ZooKeeper(三):Zookeeper数据模型和节点类型
  2. 【Scratch】青少年蓝桥杯_每日一题_1.25_投球
  3. python中一些特殊方法的作用
  4. MySql - GROUP BY 和 HAVING关键字
  5. django与grpc融合的过程
  6. linux内核源代码_如何从源代码构建和安装最新的Linux内核
  7. Semaphore示例
  8. 让电脑只能上允许的QQ号
  9. MySQL使用EXPLAIN查看SQL的执行计划
  10. 记录一次自己的前端面试心得
  11. div水平(横向)/垂直排列
  12. 拓嘉启远:定制类的商品如何处理退款
  13. 虚拟主机和服务器的区别
  14. 分享湖南软大自动健康打卡思路
  15. 【JVM】字节码与ASM字节码增强、Instrument实现类的动态重加载
  16. c语言文字冒险类游戏,课内资源 - 基于C语言和easyx实现的巧虎划船大冒险游戏...
  17. 清北师哥推荐的CV/NLP 算法工程师培养计划,强无敌!
  18. Rosalind Java| Finding a Shared Motif
  19. Python项目实战 —— 02. 疫情前后全国人口流动可视化大屏
  20. 下载python包的三种方式

热门文章

  1. opengl加载显示3D模型AC类型文件
  2. JavaScript实现Fast Powering算法(附完整源码)
  3. OpenCASCADE绘制测试线束:拓扑命令之历史命令
  4. OpenCASCADE绘制测试线束:几何命令之展示
  5. boost::remove_copy相关的测试程序
  6. Boost.MultiIndex 使用 multi_index_container::ctor_args_list 的示例
  7. boost::mpi模块all_reduce() 集合的测试
  8. boost::hana::trait用法的测试程序
  9. boost::intrusive::get_parent_from_member用法的测试程序
  10. boost::geometry::clear用法的测试程序