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
相关推荐
计算机毕设VX:Fegn08956 小时前
计算机毕业设计|基于springboot + vue在线考试系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
ejjdhdjdjdjdjjsl9 小时前
JSON序列化与反序列化实战指南
数据库·microsoft·c#
CC.GG9 小时前
【C++】STL容器----unordered_map和unordered_set的使用
java·数据库·c++
编程小Y10 小时前
如何优化MySQL的查询性能?
数据库·mysql
用户479492835691510 小时前
性能提升 40 倍!实战 PostgreSQL FDW 解决微服务跨库查询难题
数据库·后端
计算机毕设VX:Fegn089510 小时前
计算机毕业设计|基于springboot + vue宠物医院管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
贺今宵10 小时前
安装better-sqlite3报错electron-vite
javascript·sql·sqlite·sqlite3
kimi-22211 小时前
LangChain 将数据加载到 Chroma 向量数据库
数据库·langchain
麒qiqi12 小时前
理解 Linux IO 多路复用
开发语言·数据库
MediaTea12 小时前
Python:模块 __dict__ 详解
开发语言·前端·数据库·python