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
相关推荐
sdanss2 分钟前
MySQL——表的约束
数据库·mysql
吾诺2 分钟前
MySQL远程连接错误解决:“Host is not allowed to connect to this MySQL server”详解
数据库·mysql
耶叶2 分钟前
Android开发:用户注册和登录的数据库代码详细解释
android·数据库·kotlin
xuansec18 分钟前
【PortSwigger】SQL注入第一题:WHERE 子句注入漏洞利用 —— 检索隐藏数据
数据库·sql
艾莉丝努力练剑27 分钟前
【MYSQL】MYSQL学习的一大重点:MYSQL数据类型
android·linux·数据库·人工智能·学习·mysql·网络安全
惶了个恐29 分钟前
Linux系统编程第十弹——sqlite3
数据库
c++之路31 分钟前
Ubuntu 22.04 完整安装与配置指南(VMware + 系统优化 + 开发环境)
linux·数据库·ubuntu
pangares33 分钟前
MySQL中between and的基本用法
android·数据库·mysql
喵叔哟42 分钟前
8. 【Blazor全栈开发实战指南】--路由与导航
数据库·微服务·.net
liqianpin11 小时前
maven导入spring框架
数据库·spring·maven