본문 바로가기

배우기/복습노트[oracle sql]

[실습문제] 2023. 11. 10.(금) 문제풀이(1문제)

728x90
반응형

 실습문제 1. empno가 중복된 데이터가 다수 발견되어 PK생성이 안된다는 연락을 받았다. empno가 중복된 데이터를 삭제하세요(단, 하나는 남아야 함).

먼저 중복값이 들어간 데이터 만들기.

 

내가 접근한 방법은 다음과 같다.

여기서 중복값이 들어있다는 걸 눈으로 확인하였다.

 

복제 테이블을 하나 생성 후 중복사원을 포함한 모든 데이터를 delete하였다.

 

 

그리고 복제본에는 있고 원본에는 없는 직원을 찾아 원본 테이블로 해당 직원 자료를 insert 하여 도출해냈다.

 

728x90

 

 

그런데 선생님 해설은 다음과 같다.

위에서 보면 자신 포함 중복값이 3개인데 각각 두 건씩 출력되었다. 

이대로 delete를 적용하면 될 것 같다.

 

 

이렇게 rowid를 이용하여 중복값을 제거하는 코드를 짰다.

이 방법을 기억해두라고 하셨다.

728x90
반응형