WHERE
WHERE 절 소개: 조건 필터링
WHERE절의 역할:FROM절로 지정된 테이블에서 특정 조건을 만족하는 행(레코드)만 선택하여 조회- 데이터 필터링: 방대한 데이터 중에서 필요한 정보만 추출 가능
- 위치:
FROM절 다음에 위치 - 기본 문법:
SELECT column1, column2, ...
FROM table_name
WHERE condition; - 예시:
TB_COMPANY_MASTER테이블에서COMPANY_TYPE_CAT(기업구분범주값)이 '대기업'인 회사만 조회SELECT COMPANY_NM, COMPANY_TYPE_CAT
FROM TB_COMPANY_MASTER
WHERE COMPANY_TYPE_CAT = '대기업'; - 주의: 문자열 비교 시 대소문자 구분, 날짜 형식 일치 중요
WHERE 절에서의 기본 비교 연산자 활용
- 비교 연산자:
WHERE절의 조건식에서 값을 비교하는 데 사용=: 같다!=,<>,^=: 같지 않다>: 크다<: 작다>=: 크거나 같다<=: 작거나 같다
TB_LOAN_ACCOUNT테이블에서INTEREST_RATE(금리)가 3.0 미만인 여신 계좌 조회SELECT LOAN_ACCT_NO, INTEREST_RATE, LOAN_AMT
FROM TB_LOAN_ACCOUNT
WHERE INTEREST_RATE < 3.0;TB_COMPANY_MASTER테이블에서IS_VENTURE(벤처기업여부값)가 'Y'가 아닌 회사 조회SELECT COMPANY_NM, IS_VENTURE
FROM TB_COMPANY_MASTER
WHERE IS_VENTURE != 'Y';TB_FINANCIAL_STATEMENT테이블에서REVENUE(매출액)이 5000억 이상인 재무 정보 조회 (숫자 단위 확인 필요)SELECT BIZ_REG_NO, FS_YM, REVENUE
FROM TB_FINANCIAL_STATEMENT
WHERE REVENUE >= 500000000000;
WHERE 절에서의 논리 연산자 (AND, OR, NOT)
- 논리 연산자: 두 개 이상의 조건을 결합하여 더 복잡한 필터링 수행
AND: 모든 조건이 참(TRUE)일 때 결과도 참 (예: 조건1AND조건2)OR: 조건 중 하나라도 참(TRUE)이면 결과 도 참 (예: 조건1OR조건2)NOT: 조건의 논리 값을 반전 (예:NOT조건)
- 예시:
TB_COMPANY_MASTER테이블에서COMPANY_TYPE_CAT이 '중소기업' 이고IS_VENTURE가 'Y'인 회사 조회 (AND)
SELECT COMPANY_NM, COMPANY_TYPE_CAT, IS_VENTURE
FROM TB_COMPANY_MASTER
WHERE COMPANY_TYPE_CAT = '중소기업' AND IS_VENTURE = 'Y';
TB_LOAN_ACCOUNT테이블에서LOAN_STATUS_CD(여신상태코드)가 '연체' 이거나LOAN_BALANCE(여신잔액)이 10억 이상인 계좌 조회 (OR) (예시 데이터에 '연체' 상태 추가 가정)
SELECT LOAN_ACCT_NO, LOAN_STATUS_CD, LOAN_BALANCE
FROM TB_LOAN_ACCOUNT
WHERE LOAN_STATUS_CD = '연체' OR LOAN_BALANCE >= 1000000000;
TB_CREDIT_INFO테이블에서CREDIT_GRADE(신용등급)이 'AAA'가 아닌 신용정보 조회 (NOT)
SELECT BIZ_REG_NO, EVAL_DT, CREDIT_GRADE
FROM TB_CREDIT_INFO
WHERE NOT CREDIT_GRADE = 'AAA'; -- WHERE CREDIT_GRADE <> 'AAA';