• 티스토리 홈
  • 프로필사진
    31514
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
31514
  • 프로필사진
    31514
    • 분류 전체보기 (106)
      • Book (66)
        • Learning SQL (9)
        • SQL 레벨업 (8)
        • 견고한 데이터 엔지니어링 (5)
        • 운영체제 (2)
        • 스파크 완벽 가이드 (9)
        • 파이썬 코딩의 기술 (29)
        • 분산 컴퓨팅 (4)
      • 개발 (24)
      • 기타 (10)
        • 출퇴근 공부 간단 정리 (7)
      • ELK (6)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
      • 31514의 이전 블로그는 여기로!
      등록된 공지가 없습니다.
    # Home
    # 공지사항
    #
    # 태그
    # 검색결과
    # 방명록
    • LATERAL JOIN에 대해 알아보자.
      2025년 03월 17일
      • 31514
      • 작성자
      • 2025.03.17.:56

      LATERAL JOIN은 SQL에서 제공하는 강력한 쿼리 기능으로, 일반적인 JOIN과는 다르게 작동한다.

      LATERAL JOIN의 특징은 오른쪽 테이블이 왼쪽 테이블의 각 행을 참조할 수 있다는 점이다.

      파이썬 코드로 표현하면 다음과 같다.

      for row1 in 왼쪽_테이블:
          for row2 in 오른쪽_테이블:
              # 작업

       

      SQL 쿼리문은 다음과 같이 작성되는데, 일반 JOIN문과 달리 ON 조건이 없는 것을 확인할 수 있다.

      -- 왼쪽 테이블 당 매칭되는 오른쪽 테이블의 행을 3개씩만 가져오고 싶은 경우
      SELECT *
      FROM 왼쪽 테이블 left
      CROSS JOIN LATERAL (
          SELECT *
          FROM 오른쪽 테이블
          WHERE 특정 조건
          LIMIT 3
      ) right;

       

      CROSS JOIN LATERAL 뿐 아니라, LEFT JOIN LATERAL도 사용할 수 있다.

      하지만 경우에 따라 윈도우 함수 + 서브 쿼리 방식이 더 효율적일 수 있으니, 실행 계획을 확인해보면 좋을 거 같다.

      '개발' 카테고리의 다른 글

      Airflow 컨테이너를 새로운 우분투 유저로 올리면서 생긴 일  (0) 2025.05.12
      DB Lock을 처음 경험한 날  (0) 2025.03.18
      SQLAlchemy와 psycopg2 중 어느 것을 사용할까?  (0) 2025.03.06
      Pandas의 벡터 연산  (0) 2025.03.06
      Chunk를 사용하여 대용량 파일 전송하기  (0) 2025.01.17
      다음글
      다음 글이 없습니다.
      이전글
      이전 글이 없습니다.
      댓글
    조회된 결과가 없습니다.
    스킨 업데이트 안내
    현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
    ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
    목차
    표시할 목차가 없습니다.
      • 안녕하세요
      • 감사해요
      • 잘있어요

      티스토리툴바