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
相关推荐
志栋智能31 分钟前
AI驱动的数据库自动化巡检:捍卫数据王国的“智能中枢”
大数据·运维·数据库·人工智能·云原生·自动化
Ama_tor43 分钟前
Navicat|简介,安装与MySQL连接
数据库·navicat
l1t1 小时前
DeepSeek辅助生成的PostgreSQL 查询优化实战幻灯片脚本
大数据·数据库·postgresql
祢真伟大1 小时前
DM8单库使用DMDRS数据同步到dpc-步骤三
数据库
知识分享小能手2 小时前
SQL Server 2019入门学习教程,从入门到精通,SQL Server 2019 存储过程与自定义函数 — 语法知识点及使用方法详解(15)
数据库·学习·sqlserver
dinga198510262 小时前
MySQL 批量删除海量数据的几种方法
数据库·mysql
Aric_Jones2 小时前
博客RBAC权限模型与安全认证全解析
数据库·安全·oracle
wfsm2 小时前
有向图的状态转换
数据库
IMdive3 小时前
OpenHarmony鸿蒙远程数据库连接应用开发指南
数据库·华为·harmonyos
筵陌3 小时前
MySQL事务管理(上)
数据库·mysql