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
相关推荐
八月瓜科技5 小时前
豆包启动付费会员测试,承诺基础服务永久免费,免费AI时代是否终结?
数据库·人工智能·科技·深度学习·机器人
人道领域5 小时前
【黑马点评日记】社交平台用户关注功能全解析Feed流相关操作
java·开发语言·数据库·redis·python
zhoutongsheng5 小时前
mysql如何处理表空间碎片问题_执行OPTIMIZE TABLE整理
jvm·数据库·python
lifewange5 小时前
如何查看本地的数据库里信息
数据库
PSLoverS5 小时前
Python如何实现测试场景编排_基于pytest的数据驱动组合策略
jvm·数据库·python
HalvmånEver5 小时前
MySQL事务(一)
linux·数据库·学习·mysql
%KT%5 小时前
Agent开发:自动查天气+景区推荐
linux·数据库·php
会编程的土豆6 小时前
MySQL 多表查询
开发语言·数据库·python·mysql
2403_883261096 小时前
PHP调用Codex处理PHP特定语法【操作】
jvm·数据库·python
四方云6 小时前
MySQL 迁移到 Apache Doris 生产实践:从评估到落地的完整指南
数据库·mysql·apache