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
相关推荐
麦聪聊数据4 分钟前
生成测试数据(三):从建表到 CRUD 的冷启动
数据库·sql
Awkwardx7 分钟前
MySQL数据库—MySQL复合查询
数据库·mysql
2301_800256117 分钟前
R-Tree创建与遍历,R-Tree在4类空间查询中的应用,实现4类空间查询的各类算法[第8章]
数据库·算法·机器学习·postgresql·r-tree
十月南城7 分钟前
分布式ID选型——雪花、号段、数据库自增与时钟回拨的风险控制
数据库·分布式
老邓计算机毕设8 分钟前
SSM校园快递代取平台32618(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·校园快递代取平台
论迹12 分钟前
【Redis】-- 单线程模型
数据库·redis·缓存
悦数图数据库13 分钟前
BOSS 直聘基于悦数图数据库构建智能根因定位平台的实践
数据库·人工智能
亮子AI19 分钟前
【Node.js】为什么数据库连接总是中断?
数据库·node.js
DBA小马哥19 分钟前
时序数据库在物联网中的应用
数据库·物联网·时序数据库
maray20 分钟前
体验 Neon 产品
数据库·学习