oracle菜鸟学习之 复杂的更新语句使用

实例与答案

问题:表T1里有a,b,c...N个字段,表T2里有a,b,c三个字段,然后想在T1中"c"与表T2中"c"相同的情况下,从表T2中将a,b覆盖表T1中的a,b,怎么做?

实验表:

create table T1(a int,b int,c int,d int,e int);
create table T2(a int,b int,c int);
insert into T1 values(1,2,3,4,5);
insert into T1 values(10,20,3,4,5);
insert into T1 values(10,20,4,40,50);
insert into T2 values(-1,-1,3);
insert into T2 values(-2,-2,4);

查看表:

SQL> select * from T1;A      B          C      D      E
---------- ---------- ---------- ---------- ----------1      2          3      4      510     20          3      4      510     20          4     40     50SQL> select * from T2;A      B          C
---------- ---------- -----------1     -1          3-2     -2          4SQL> 

思路:
更新数据的基本语句

update T1 set a=?,b=? where ?

怎么选出a呢?

SQL> select a.a from T2 a,T1 b where a.c=b.c;A
-----------1-1-2SQL> 

同样可以选出b

SQL> select a.b from T2 a,T1 b where a.c=b.c;B
-----------1-1-2SQL> 

where是什么?怎么从集合中取出唯一的值?

SQL> update T1 set a=(select a from T2 where T1.c=T2.c),b=(select b from T2 where T1.c=T2.c) where T1.c in (select c from T2);3 rows updated.SQL> 

查看结果

SQL> select * from T1;A      B          C      D      E
---------- ---------- ---------- ---------- -----------1     -1          3      4      5-1     -1          3      4      5-2     -2          4     40     50SQL> 

转载于:https://blog.51cto.com/xiaowangzai/2319593

oracle菜鸟学习之 复杂的更新语句使用相关推荐

  1. oracle菜鸟学习之 分析函数-排序

    oracle菜鸟学习之 分析函数-排序 排序函数 1.row_number:返回连续的排序,无论值是否相等 2.rank:具有相等值得行排序相同,序数值随后跳跃 3.dense_rank:具有相等值得 ...

  2. oracle创建自身连接,oracle菜鸟学习之 自连接查询实验

    oracle菜鸟学习之 自连接查询实验 实验表的创建 表字段说明: id:员工编号 name:员工名字 ano:管理人员编号 create table admin(id varchar2(4),nam ...

  3. oracle 排序的分析函数,oracle菜鸟学习之 分析函数-排序

    oracle菜鸟学习之 分析函数-排序 排序函数 1.row_number:返回连续的排序,无论值是否相等 2.rank:具有相等值得行排序相同,序数值随后跳跃 3.dense_rank:具有相等值得 ...

  4. MySQL学习之一条SQL更新语句的执行

    文章目录 前言 一.MySQL更新操作大致流程 二.redo log介绍 三.binlog介绍 四.MySQL更新操作的具体流程 前言 今天我们通过一条SQL更新语句,了解MySQL的日志系统 一.M ...

  5. Oracle更新语句

    我的Oracle数据库学习笔记 Day 5 更新语句 文章目录 我的Oracle数据库学习笔记 修改语句 1.修改所有男同学的年龄+1 2.修改年龄在20-30之间的男同学的年龄-1 3.修改地址为空 ...

  6. 一个关于Oracle更新语句引发的时间字段类型的问题

    想当初我在做一个ASP.NET网站的时候,用的是Oracle数据库更新数据.表里面的字段有int类型的,string类型的,还有date类型的,在和asp.NET前台控件绑定更新的时候总是出现问题,我 ...

  7. oracle联表更新语句

    oracle联表更新语句,此处为什么要写下来呢,因为信誓旦旦地用sql中的语句去更新oracle,发现不通用,但是查询可以.所以特意写下来,以免忘记或提醒需要的你们~~ 第一种: update lqp ...

  8. oracle 更新语句不生效,Oracle存储过程执行update语句不报错不生效问题

    转载链接:http://lin49940.iteye.com/blog/466626 今天一个同事写oracle 的存储过程遇到了一个问题, 他在里面update 操作不能完成更新的操作, 但是又不会 ...

  9. 如何看待:Oracle Java SE 8 发行版更新 ? --- 变向激励学习 JDK 10 吗?

    阅读, 一方面获得信息, 二方面借鉴同样信息如何传达之方法, 三方面领会信息透出的意图.情感.精神.要旨. 基于此,本文适当解读如下: 一方面, 对于 Java 8 的技术更新支持要终止,个人使用截止 ...

最新文章

  1. 深入浅出数据仓库中SQL性能优化之Hive篇
  2. gcc 无法编译问题解决
  3. uygurqa输入法android,uygurqa输入法
  4. Django-MySQL数据库使用01
  5. python写ui自动化测试用例_自动化测试(6) | Web UI 自动化测试方案
  6. Selenium 控制浏览器
  7. [Leetcode][第315题][JAVA][计算右侧小于当前元素的个数][暴力][归并排序+索引数组]
  8. zabbix系统日志文件监控key
  9. js 数组 改变长度_Java数组,什么是Java数组?Java数组学习
  10. 视频号的商业想象空间,在前天更新后,会在以下3个方面
  11. python scrapy框架爬虫_python爬虫之scrapy框架介绍
  12. iPhone无法更新,一直卡住在“验证更新中”,如何处理?
  13. 十年生死两茫茫,当我们已不再年轻——焦版小李飞刀
  14. 如何修改python中字典的键和值
  15. 前端开发:JS中关于正则表达式的使用汇总
  16. 202011 网络是通的,数据发不过去(接受不到)
  17. 10种流行的机器学习算法进行泰坦尼克幸存者分析
  18. ASEMI代理ST/意法STW78N65M5原厂渠道汽车级MOSFET
  19. 国产操作系统--奇思妙想
  20. win2008不能连接mysql_win2008 r2 安装sql server 2005/2008 无法连接服务器解决方法

热门文章

  1. 360智能工程中心期待你的加入
  2. disruptor消费者模型
  3. RocketMQ源码解析-Consumer启动(2)
  4. 第二章--Mysql分区表
  5. iisS7 配置SSL 绑定主机头实现多站点访问
  6. SpringCloud 如何搭建Eureka注册中心
  7. 程序员35岁前需要完成的10件事
  8. Linux 初始化之 Systemd机制简介
  9. 一个学单片机的不错网站
  10. 在不动用sp_configure的情况下,如何 =》去掉列的自增长,并保留原数据