Notice
Recent Posts
Recent Comments
Link
«   2026/05   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Archives
Today
Total
관리 메뉴

ki-sd 님의 블로그

[2026-04-14] 조건부 필터링(WHERE)과 데이터 정렬(ORDER BY) 심화 본문

OracleStudy

[2026-04-14] 조건부 필터링(WHERE)과 데이터 정렬(ORDER BY) 심화

ki-sd 2026. 4. 18. 01:10

수백만 건의 데이터 중 내가 원하는 데이터만 정확하고 빠르게 골라내고, 가독성 좋게 출력하는 데이터 추출 기술을 고도화했다.

 

1. WHERE 절의 연산자와 패턴 매칭

  • 산술, 비교 연산자 외에도 AND, OR, NOT 등의 논리 연산자 우선순위를 제어하며 복합 조건을 구성했다.
  • LIKE 연산자: %(0개 이상의 문자)와 _(단일 문자) 와일드카드를 결합하여 "김씨 성을 가진 3글자 이름" 같은 패턴 검색 기법을 실습했다.
  • IN과 BETWEEN: A OR B OR C를 IN (A, B, C)로 축약하고, 대소 비교를 BETWEEN A AND B로 작성하여 쿼리의 가독성과 파싱 효율을 높이는 작성법을 적용했다.

2. NULL 데이터의 특수성 처리

  • DB에서 NULL은 '0'이나 '공백'이 아니라 '값이 존재하지 않음(Unknown)'을 의미한다.
  • 따라서 컬럼명 = NULL 같은 연산은 불가능하며, 오직 **IS NULL**과 IS NOT NULL 연산자를 통해서만 데이터의 존재 유무를 평가할 수 있다는 중요한 특수성을 확인했다.

3. ORDER BY를 활용한 다중 정렬 전략

  • ASC(오름차순)와 DESC(내림차순)를 활용해 데이터를 정렬했다.
  • 1차 기준으로 부서 번호를 오름차순 정렬하고, 부서가 같을 경우 2차 기준으로 급여를 내림차순 정렬하는 식의 다중 정렬 메커니즘을 파악했다. 단, 정렬 작업은 DB 서버의 메모리와 CPU를 크게 소모하므로 불필요한 정렬은 피해야 한다는 최적화 관점도 인지했다.