select *
from t
where rownum <=5
minus
select *
from t
where rownum <=2;
请写出将T表中第3~5行数据列出来的SQL语句
-----------------------------------------------------------------------------
update t
set (address,phone)=
(select address,phone from e where e.name=t.name);
. 请写出将E表中的ADDRESS、PHONE更新到T表中的SQL语句(按NAME相同进行关联)
--------------------------------------------------------------------------
很低的效率
select 字段1,字段2,count(*) from 表名 group by 字段1,字段2 having count(*) > 1
//将上面的>号改为=号就可以查询出没有重复的数据了。
//想要删除这些重复的数据,可以使用下面语句进行删除
delete from 表名 a where 字段1,字段2 in
(select 字段1,字段2,count(*) from 表名 group by 字段1,字段2 having count(*) > 1)
----------------------------------------------
建议先将查询到的重复的数据插入到一个临时表中,然后对进行删除,这样,执行删除的时候就不用再进行一次查询了。如下:
CREATE TABLE 临时表 AS
(select 字段1,字段2,count(*) from 表名 group by 字段1,字段2 having count(*) > 1)
//上面这句话就是建立了临时表,并将查询到的数据插入其中。
//下面就可以进行这样的删除操作了:
delete from 表名 a where 字段1,字段2 in (select 字段1,字段2 from 临时表);
-----------------------------------------------------
保留重复数据中最新的一条记录
很低的效率
在oracle中,有个隐藏了自动rowid,里面给每条记录一个唯一的rowid,我们如果想保留最新的一条记录,
select a.rowid,a.* from 表名 a
where a.rowid !=
(
select max(b.rowid) from 表名 b
where a.字段1 = b.字段1 and
a.字段2 = b.字段2
)
delete from 表名 a
where a.rowid !=
(
select max(b.rowid) from 表名 b
where a.字段1 = b.字段1 and
a.字段2 = b.字段2
)
//可以考虑建立临时表,讲需要判断重复的字段、rowid插入临时表中,然后删除的时候
//行比较
create table 临时表 as
select a.字段1,a.字段2,MAX(a.ROWID) dataid from 正式表 a GROUP BY a.字段1,a.字段2;
delete from 表名 a
where a.rowid !=
(
select b.dataid from 临时表 b
where a.字段1 = b.字段1 and
a.字段2 = b.字段2
);
commit;
------------------------------------------------
对于表中两行记录完全一样的情况,可以用下面语句获取到去掉重复数据后的记录:
CREATE TABLE 临时表 AS (select distinct * from 表名);
truncate table 正式表; --注:原先由于笔误写成了drop table 正式表;,现在已经改正过来
insert into 正式表 (select * from 临时表);
drop table 临时表;
-------------------------------------------------------
-------------------------------------------------------
三、怎样快速删除oracle数据库
最快的方法就进入注册表 在运行..里输入regedit.
依次展开HKEY_LOCAL_MACHINE SOFTWARE
找到ORACLE节点。删除。
然后删除ORACLE数据文件,安装的时候选的路径。
最后删除oracle引导文件,在系统盘符的Program Files 里面删除oracle文件夹。
分享到:
相关推荐
sql语句命令sql语句命令sql语句命令sql语句命令sql语句命令sql语句命令
Oracle Sql语句转换成Mysql Sql语句java 源码,非常简单,只要给定源oracle sql语句地址,和生成目标文件地址运行即可。
可是实现SQL的自动生成,再也不用为调式SQL语句错误而烦恼了!
全面的sql语句sql语句大全sql语句大全sql语句大全sql语句大全sql语句大全sql语句大全sql语句大全sql语句大全sql语句大全
动态拼接sql语句工具类,拼接where后面语句 配合原生jdbc仿动态sql注入 if (ObjectUtil.isNotEmpty(maxLat)&&ObjectUtil.isNotEmpty(minLat)){ sqlParamList.add(new SqlParam("lat",minLat, SqlOpEnum.GE)); ...
SQL 语句大全 SQL 语句大全 SQL 语句大全
非常好的sql语句非常好的sql语句非常好的sql语句非常好的sql语句非常好的sql语句非常好的sql语句非常好的sql语句非常好的sql语句非常好的sql语句非常好的sql语句非常好的sql语句非常好的sql语句非常好的sql语句非常...
在项目开发的过程中难免需要打印一下自己拼写的SQL语句,尤其是很长的SQL语句,看起来很不舒服,使用该jar包,打印出来的SQL语句已经被格式化,结构很清晰、简洁,更方便我们调试及分析
精妙SQL语句精妙SQL语句精妙SQL语句精妙SQL语句精妙SQL语句
sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明...
功能: 根据表名、where条件,生成导出数据的SQL语句。(包含insert语句。结果可一键执行,利于数据导出、导入) 参数: @tableName nvarchar(100) --表名 ,@sqlWhere nvarchar(500) --where条件(传空时,导出全部...
Visual C++源代码 117 如何直接获取SQL语句聚合函数值Visual C++源代码 117 如何直接获取SQL语句聚合函数值Visual C++源代码 117 如何直接获取SQL语句聚合函数值Visual C++源代码 117 如何直接获取SQL语句聚合函数值...
非常好用的SQL Server 抓取SQL语句工具HOOK 非常好用的SQL Server 抓取SQL语句工具HOOK 非常好用的SQL Server 抓取SQL语句工具HOOK 非常好用的SQL Server 抓取SQL语句工具HOOK
Sql语句收藏 - 天尊阁Sql语句收藏 - 天尊阁Sql语句收藏 - 天尊阁Sql语句收藏 - 天尊阁Sql语句收藏 - 天尊阁Sql语句收藏 - 天尊阁
全面掌握SQL语句 详细的SQL语句介绍 详细的SQL语句介绍 详细的SQL语句介绍 详细的SQL语句介绍
一篇关于SQL语句比较全面的教程。 SQL语句教程(01) SELECT......................................2 SQL语句教程(02) DISTINCT...................................2 SQL语句教程(03) WHERE...........................
Delphi中sql语句的使用总结 Delphi中sql语句的使用总结 Delphi中sql语句的使用总结
《Effective MySQL之SQL语句最优化》是由MySQL专家Ronald Bradford撰著,书 中提供了很多可以用于改进数据库和应用程序性能的最佳实践技巧,并对这些技巧 做了详细的解释。本书希望能够通过一步步详细介绍SQL优化...
经典SQL语句大全(各种sql语句) 各种复杂的SQl 都有,以及SQL语句的灵活运用
全国省市数据库 二级 sql语句全国省市数据库 二级 sql语句全国省市数据库 二级 sql语句全国省市数据库 二级 sql语句全国省市数据库 二级 sql语句