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
相关推荐
Polar__Star13 小时前
SQL中如何实现特定顺序的查询:CASE WHEN自定义排序
jvm·数据库·python
一只大袋鼠13 小时前
MyBatis 入门详细实战教程(一):从环境搭建到查询运行
java·开发语言·数据库·mysql·mybatis
u01091476013 小时前
mysql如何配置监听IP_mysql bind-address多地址设置
jvm·数据库·python
java资料站13 小时前
MySQL 8.0.45 完整mysqld_safe启动
数据库·mysql
a95114164213 小时前
如何配置RMAN使用第三方备份软件接口_NetBackup或Commvault的MML层整合
jvm·数据库·python
℡終嚸♂68013 小时前
FlowiseAI 任意文件上传 CTF Writeup
sql·web安全
u01091476013 小时前
CSS如何处理超长文本换行问题_结合word-wrap属性
jvm·数据库·python
2401_8371638913 小时前
如何在 Go 中正确解析带命名空间的 SOAP 响应
jvm·数据库·python
m0_3776182313 小时前
CSS如何处理溢出隐藏_使用overflow-hidden与盒模型
jvm·数据库·python
月巴月巴白勺合鸟月半13 小时前
Delphi 开发避坑终极指南:数据库 Decimal (18,6) 类型选择,别再用错 Double 和 Currency!
数据库