본문 바로가기

DB Query

(16)
OLTP에서 기본키(PK)와 외래키(FK)의 의미 기본키와 외래키는 OLTP(Online Transaction Processing) 시스템에서 데이터 무결성을 유지하는 데 중요한 역할을 한다.기본키 (Primary Key): 테이블 내에서 각 행을 고유하게 식별하는 하나 이상의 열이다. 기본키는 중복될 수 없으며, NULL 값을 가질 수 없다.외래키 (Foreign Key): 한 테이블의 열이 다른 테이블의 기본키를 참조하는 키이다. 외래키는 두 테이블 간의 관계를 정의하며, 참조 무결성을 유지하는 데 사용된다.기본키와 외래키의 예기본키와 외래키의 사례를 간단한 SQL 테이블로 설명하면 아래와 같다.기본키와 외래키 예제users 테이블id 열이 기본키이다.CREATE TABLE users ( id INT PRIMARY KEY, username..
CASE WHEN # CASE - SQL에서 조건절 예제는 아래와 같다. 구분열의 값이 2보다 크면 값2의 열의 값을, 구분열의 값이 2보다 작거나 같으면 값1 열의 값을 추출 SELECT CASE WHEN 구분>2 THEN 값2 ELSE 값1 END FROM 구분; - 예제1 SELECT C1, C2, CASE WHEN "C1" = '서울' THEN '100' ELSE '-100' END "C3" FROM TABLE_NAME; - 예제 2 SELECT C1, C2, CASE WHEN "C1" = '서울' THEN '100' ELSE '0' END "구분_서울", CASE WHEN "C1" = '인천' THEN '200' ELSE '0' END "구분_인천", CASE WHEN "C1" = '부산' THEN '300' E..
REPLACE (특정 문자를 치환하는 함수) # REPLACE - 특정 문자를 치환하는 함수이다. (특정 문자의 부부만을 치환) 예제는 아래와 같다. SELECT REPLACE(TARGET_TABLE,'SCHEMA.','') FROM SCHEMA.TABLE_NAME WHERE ID = '006'; - 예제 (구현 방법 설명) SELECT REPLACE(대상컬럼,변경대상값,변경값) FROM 테이블 명 WHERE 조건명 - 예제 UPDATE STATISTICS SET 에러테이블 = REPLACE(에러테이블,'SSS','') WHERE 기관 = '기관 이름'; - 끝 -
ROWNUM # ROWNUM - 각 행마다 넘버를 지정해 주고 싶을때 사용한다. 예시는 아래와 같다. SELECT * FROM SCHEMA.TABLE_NAME WHERE SITE_ID = 'TEST_01' AND HISTORY_ID LIKE 'TEST_01%' AND ROWNUM = '1' POSTGRE에서 구하기 SELECT * FROM ( SELECT (ROW_NUMBER() OVER()) AS ROWNUM, name, menu_id, read_yn, write_yn FROM schema.tablename) AS SS WHERE ROWNUM = '1'; POSTGRE는 좀 다르다. CTID 라는 별도의 컬럼을 제공하는데 값은 아래와 같이 나온다. CTID = ROWID 같은 개념이라고 보면 된다. - 예시는 아래..
SYSDATE (현재 일자와 현재 시간을 추출) # SYSDATE - 현재 일자와 현재 시간을 추출 SELECT TO_CHAR(SYSDATE, 'MM-DD-YYYY HH24:MI:SS') "현재시간" FROM DUAL; SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') "현재시간" FROM DUAL; → 여기에서 'YYYY-MM-DD HH24:MI:SS' 의 순서를 바꿔주면 바뀐 순서대로 출력이 된다. POSTGRESQL SELECT NOW(); - 끝 -
LOWER (소문자로 변환 하여 조건 비교 및 출력) # LOWER 소문자로 변환하여 조건을 비교하거나 결과를 추출 LOWER(char1) SELECT LOWER(CODE) "소문자" FROM 코드; - 끝 -
UPPER (소문자를 대문자로 변환) # UPPER - 소문자를 대문자로 변환하여 출력하는 함수 - 예제 SELECT UPPER(CODE) "대문자" FROM 코드; - 예제 SELECT 사원번호, 직무, 급여 FROM 사원 WHERE UPPER(직무)='DBA'; - 끝 -
TRIM (좌우측 특정문자 제거) # TRIM TRIM 함수는 해당 열값에 대해 좌측과 우측에 존재하는 특정 문자를 제거하는 함수이다 TRIM(char1 FROM char2) 예제는 아래와 같다. SELECT TRIM('0' FROM '0012300') "TRIM" FROM 업무; 예제 SQL> SELECT 사원번호, 연봉, 보너스, 부서번호 FROM 급여 WHERE 사원번호 = '123'; SQL> SELECT 사원번호, 연봉, 보너스, 부서번호 FROM 급여 WHERE TRIM(사원번호) = '1231'; # RTRIM, LTRIM 오른쪽 또는 왼쪽의 특정 문자를 제거하기 위해 사용 RTRIM(char1,char2) or LTRIM(char1,char2) 예제 SELECT RTRIM('AA12300', '00') "RTIM" FROM..