데이터베이스에서 중복 데이터를 제거하는 것은 매우 중요한 작업입니다. 중복된 데이터는 저장 공간을 낭비하고, 쿼리 성능을 저하시킬 수 있으며, 데이터 분석 시 오류를 일으킬 수 있습니다. 이번 글에서는 SQL에서 중복 데이터를 제거하는 여러 가지 방법에 대해 정리하려 합니다. 1. DISTINCT 키워드 사용SQL에서 중복된 데이터를 제거하는 가장 간단한 방법 중 하나는 DISTINCT 키워드를 사용하는 것입니다. DISTINCT는 선택한 컬럼에서 중복된 값을 제거하고, 고유한 값만을 반환합니다. 예시:SELECT DISTINCT column_nameFROM table_name; 위 쿼리는 table_name 테이블에서 column_name 컬럼에 중복된 값이 있을 경우, 중복을 제거하고 유일한 값만 반..
Oracle 데이터베이스에서 현재 실행 중인 SQL 세션 정보를 조회하는 방법을 소개합니다.이를 통해 세션 모니터링, 성능 분석, 트러블슈팅을 효과적으로 수행할 수 있습니다.1. 현재 활성 세션 조회현재 실행 중인 SQL 세션을 확인하려면 다음 SQL을 실행하세요.SELECT SID, SERIAL#, USERNAME, STATUS, MACHINE, PROGRAM, LOGON_TIMEFROM V$SESSIONWHERE STATUS = 'ACTIVE';컬럼 설명SID : 세션 IDSERIAL# : 세션 고유 번호USERNAME : 오라클 사용자STATUS : 세션 상태 (ACTIVE, INACTIVE 등)MACHINE : 접속한 클라이언트 머신PROGRAM : 실행 중인 프로그램LOGON_TIME : 세션 ..
Oracle 데이터베이스에서 테이블스페이스의 데이터 파일이 자동 확장(AUTOEXTEND) 상태로 설정이 되어 있는지 확인하는 방법을 소개합니다.1. 테이블스페이스 자동 확장 확인 SQL아래 SQL 문을 실행하면 테이블스페이스의 자동 확장 여부를 확인할 수 있습니다.SELECT TABLESPACE_NAME, FILE_NAME, AUTOEXTENSIBLEFROM DBA_DATA_FILES;설명TABLESPACE_NAME : 테이블스페이스 이름FILE_NAME : 데이터 파일 경로AUTOEXTENSIBLE : YES이면 자동 확장됨, NO이면 자동 확장 안 됨사용자 권한 문제DBA_DATA_FILES 뷰를 조회하려면 DBA 권한이 필요합니다.권한이 없을 경우 아래 SQL을 사용하여 확인할 수 있습니다.SEL..
주민등록번호의 유효성을 검증하는 SQL을 작성하려면 대한민국 주민등록번호 (RRN, Resident Registration Number)의 구조를 이해해야 합니다.주민등록번호 구조주민등록번호는 YYYYMMDD-abcdefg 형식이며, 13자리 숫자로 이루어집니다.YYYYMMDD : 생년월일 (6자리)a : 성별 및 세기 (14: 1900년/2000년대 출생자, 58: 외국인)bcdefg : 개별 식별번호마지막 g 자리 : 체크 디지트 (검증 코드)유효성 검증 방식길이가 13자리인지 확인숫자로만 이루어져 있는지 확인생년월일이 유효한 날짜인지 확인체크 디지트 계산 후 일치 여부 확인주민등록번호 유효성 검증 SQL (오라클 기준)WITH RRN_DATA AS ( SELECT '920101-1234567'..
오라클의 가상 컬럼(Virtual Column) 은 테이블에 존재하지만 물리적으로 저장되지 않고, 필요할 때 계산되는 컬럼입니다. 기존 컬럼 값을 기반으로 자동 계산되며, 저장 공간을 차지하지 않고 효율적으로 사용할 수 있습니다.1. 가상 컬럼 생성 방법가상 컬럼은 GENERATED ALWAYS AS 구문을 사용하여 정의합니다.CREATE TABLE employees ( emp_id NUMBER PRIMARY KEY, first_name VARCHAR2(50), last_name VARCHAR2(50), salary NUMBER(10, 2), annual_salary NUMBER(12, 2) GENERATED ALWAYS AS (salary..