피드로 돌아가기
"Table 'test.p' doesn't exist" — Understanding SQL Aliases and Default JOIN Behavior
Dev.toDev.to
Database

SQL Alias 순서와 JOIN 기본 동작으로 찾는 쿼리 오류 해결법

"Table 'test.p' doesn't exist" — Understanding SQL Aliases and Default JOIN Behavior

DEAN LEE2026년 4월 3일2beginner

Context

SQL 작성 중 테이블 별칭(Alias) 지정 순서 오류로 인한 Runtime Error 발생. JOIN의 기본 동작 방식에 대한 오해로 데이터 누락 문제 직면.

Technical Solution

  • [Table Name] [Alias] 순서의 표준 SQL 문법 적용으로 테이블 인식 오류 해결
  • JOIN 키워드가 INNER JOIN으로 동작하여 매칭되지 않는 행이 삭제되는 기본 메커니즘 파악
  • 데이터 유실 방지를 위해 모든 왼쪽 테이블 행을 유지하는 LEFT JOIN 전략 채택
  • 주소 정보가 없는 사용자의 경우 NULL 값을 반환하는 Outer Join 구조 설계
  • 쿼리 가독성 향상을 위해 모든 컬럼 참조에 테이블 별칭을 명시적으로 지정하는 방식 적용

Key Takeaway

언어의 기본 동작(Default Behavior)에 의존하지 않고 요구사항에 맞는 명시적 연산자를 선택하는 설계 원칙 필요.


데이터 누락 없이 전체 목록을 유지해야 하는 요구사항 확인 시 즉시 LEFT JOIN 적용 검토

원문 읽기