oracle菜鸟学习之 复杂的更新语句使用
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菜鸟学习之 复杂的更新语句使用相关推荐
- oracle菜鸟学习之 分析函数-排序
oracle菜鸟学习之 分析函数-排序 排序函数 1.row_number:返回连续的排序,无论值是否相等 2.rank:具有相等值得行排序相同,序数值随后跳跃 3.dense_rank:具有相等值得 ...
- oracle创建自身连接,oracle菜鸟学习之 自连接查询实验
oracle菜鸟学习之 自连接查询实验 实验表的创建 表字段说明: id:员工编号 name:员工名字 ano:管理人员编号 create table admin(id varchar2(4),nam ...
- oracle 排序的分析函数,oracle菜鸟学习之 分析函数-排序
oracle菜鸟学习之 分析函数-排序 排序函数 1.row_number:返回连续的排序,无论值是否相等 2.rank:具有相等值得行排序相同,序数值随后跳跃 3.dense_rank:具有相等值得 ...
- MySQL学习之一条SQL更新语句的执行
文章目录 前言 一.MySQL更新操作大致流程 二.redo log介绍 三.binlog介绍 四.MySQL更新操作的具体流程 前言 今天我们通过一条SQL更新语句,了解MySQL的日志系统 一.M ...
- Oracle更新语句
我的Oracle数据库学习笔记 Day 5 更新语句 文章目录 我的Oracle数据库学习笔记 修改语句 1.修改所有男同学的年龄+1 2.修改年龄在20-30之间的男同学的年龄-1 3.修改地址为空 ...
- 一个关于Oracle更新语句引发的时间字段类型的问题
想当初我在做一个ASP.NET网站的时候,用的是Oracle数据库更新数据.表里面的字段有int类型的,string类型的,还有date类型的,在和asp.NET前台控件绑定更新的时候总是出现问题,我 ...
- oracle联表更新语句
oracle联表更新语句,此处为什么要写下来呢,因为信誓旦旦地用sql中的语句去更新oracle,发现不通用,但是查询可以.所以特意写下来,以免忘记或提醒需要的你们~~ 第一种: update lqp ...
- oracle 更新语句不生效,Oracle存储过程执行update语句不报错不生效问题
转载链接:http://lin49940.iteye.com/blog/466626 今天一个同事写oracle 的存储过程遇到了一个问题, 他在里面update 操作不能完成更新的操作, 但是又不会 ...
- 如何看待:Oracle Java SE 8 发行版更新 ? --- 变向激励学习 JDK 10 吗?
阅读, 一方面获得信息, 二方面借鉴同样信息如何传达之方法, 三方面领会信息透出的意图.情感.精神.要旨. 基于此,本文适当解读如下: 一方面, 对于 Java 8 的技术更新支持要终止,个人使用截止 ...
最新文章
- 深入浅出数据仓库中SQL性能优化之Hive篇
- gcc 无法编译问题解决
- uygurqa输入法android,uygurqa输入法
- Django-MySQL数据库使用01
- python写ui自动化测试用例_自动化测试(6) | Web UI 自动化测试方案
- Selenium 控制浏览器
- [Leetcode][第315题][JAVA][计算右侧小于当前元素的个数][暴力][归并排序+索引数组]
- zabbix系统日志文件监控key
- js 数组 改变长度_Java数组,什么是Java数组?Java数组学习
- 视频号的商业想象空间,在前天更新后,会在以下3个方面
- python scrapy框架爬虫_python爬虫之scrapy框架介绍
- iPhone无法更新,一直卡住在“验证更新中”,如何处理?
- 十年生死两茫茫,当我们已不再年轻——焦版小李飞刀
- 如何修改python中字典的键和值
- 前端开发:JS中关于正则表达式的使用汇总
- 202011 网络是通的,数据发不过去(接受不到)
- 10种流行的机器学习算法进行泰坦尼克幸存者分析
- ASEMI代理ST/意法STW78N65M5原厂渠道汽车级MOSFET
- 国产操作系统--奇思妙想
- win2008不能连接mysql_win2008 r2 安装sql server 2005/2008 无法连接服务器解决方法