본문으로 바로가기
TaeyoungKim.dev

DB/SQL

데이터 모델링, SQL과 NoSQL, 트랜잭션, 인덱스, 정합성과 마이그레이션을 다룹니다.

글 목록

DynamoDB Query와 Scan 차이: 필터를 붙여도 읽기 비용이 줄지 않는 이유

같은 학생 성적 3건을 돌려주는 Query와 Scan을 비교해, FilterExpression이 언제 적용되고 ScannedCount와 읽기 용량을 어떻게 확인하는지 설명합니다.

DB/SQL5 분

SQL 셀프 조인: 상사가 없는 직원이 INNER JOIN에서 사라지는 이유

직원과 상사가 같은 테이블에 있을 때 셀프 조인으로 연결하고, 상사가 없는 직원이 INNER JOIN에서 빠지는 이유와 LEFT JOIN으로 남기는 방법을 확인합니다.

DB/SQL3 분

SQL WHERE와 HAVING 차이: GROUP BY에서 COUNT(*) 조건은 어디에 쓸까?

결제 완료 주문이 두 건 이상인 고객을 찾을 때 WHERE와 HAVING을 어떻게 나눠 쓰는지, 같은 주문 데이터로 결과를 비교합니다.

DB/SQL3 분

SQL LIKE %와 _ 차이: 밑줄을 문자 그대로 검색하는 ESCAPE 사용법

LIKE에서 %는 여러 글자, _는 한 글자를 뜻합니다. 밑줄이 포함된 코드를 찾을 때 엉뚱한 값이 섞이는 이유와 ESCAPE 사용법을 같은 데이터로 확인합니다.

DB/SQL3 분

SQL UPDATE WHERE 누락: 전체 행이 바뀌는 이유와 ROLLBACK 확인법

한 행만 수정하려다 WHERE를 빠뜨리면 모든 행이 대상이 됩니다. 세 행으로 영향 범위, 커밋 전 취소, 조건을 고친 재실행을 확인합니다.

DB/SQL3 분

SQL NULL 비교: = NULL이 0건인 이유와 IS NULL 사용법

값이 없는 행은 있는데 WHERE completed_at = NULL은 0건을 반환합니다. 같은 네 행으로 UNKNOWN, IS NULL, IS NOT NULL과 수정 전 점검 방법을 확인합니다.

DB/SQL3 분

SQL WHERE AND OR 우선순위: 괄호가 없으면 취소 주문이 섞이는 이유

결제 완료 주문만 조회하려는데 취소 주문이 섞였다면 WHERE의 AND·OR 묶음을 확인하세요. 같은 여섯 행으로 괄호 전후 결과와 IN 조건을 비교합니다.

DB/SQL3 분