oracle查询出表中某几个字段值不唯一的数据

假设有一张学生表,建表语句如下:

复制代码
--学生 student表
create table student(
sno varchar2(10) primary key,
sname varchar2(20),
sage number(2),
ssex varchar2(5),
birthday date
);

现计划创建唯一索引(sno,sname),由于数据录入失误导致这两列数据有重复数据,进而导致唯一索引创建失败。

因此我们需要先查询出表中这些捣乱的数据,并进行去重处理。

可使用如下语句查询重复数据:

复制代码
select T.*, T.ROWID
  from student  T
 where exists (select 1
          from student
         where sno = T.sno
           and sname = T.sname
           and ROWID != T.ROWID)

补充:

如果只是查询某一列的重复值(如:sno),语句更加简单,可以如下:

复制代码
select    t. *    from  student t , student tt  where  t.rowid != tt.rowid  and  t.sno = tt.sno
相关推荐
wgzrmlrm741 小时前
如何解决ORA-28040没有匹配的验证协议_sqlnet.ora版本兼容设置
jvm·数据库·python
一江寒逸1 小时前
零基础从入门到精通MySQL(附加篇):面试八股文全集
数据库·mysql·面试
数厘2 小时前
2.6MySQL库表操作指南(电商数据分析专用)
数据库·mysql·数据分析
需要点灵感2 小时前
SQL Server 存储过程语法整理
数据库·sql
刘~浪地球2 小时前
数据库与缓存--分库分表实战指南
网络·数据库·缓存
Mr_Xuhhh2 小时前
深入Java多线程进阶:从锁策略到并发工具全解析
前端·数据库·python
数厘2 小时前
2.5可视化工具与 MySQL 连接配置及基础操作
数据库·mysql
沃尔威武2 小时前
性能调优实战:从火焰图定位到SQL优化的全流程
android·数据库·sql
数厘3 小时前
2.7SQL 四大分类:理解与避坑
数据库·sql
亮子AI3 小时前
【PostgreSQL】推荐几个PostgreSQL管理工具
数据库·postgresql