본문 바로가기
Web 개발/FAST API (인프런 강의 내용)

5 기능 고도화 SQL JOIN

by yororing 2024. 8. 11.

앞 단계 참조 링크:

 

00 개요

  • ToDo 서비스의 회원가입 기능 추가하며 테이블 JOIN, cashing, backgroun task 같은 기술들에 대해 알아보기 

01 기능 고도화

1. 회원가입 - JOIN

1) JOIN 정의

  • SQL의 TABLE JOIN이란, 관계형 데이터베이스 (RDBMS)에서 공통되는 컬럼을 이용하여 두 개의 테이블을 연결해서 조회하는 기능
  • 예시
    • User라는 새로운 테이블이 추가되었음, id 및 username 컬럼들을 갖고 있음
    • 기존의 ToDo 테이블에는 ToDo가 어떤 user로부터 생성된 ToDo인지를 기록하는 user_id 컬럼이 추가됨 
    • User 테이블의 id 컬럼과 ToDo 테이블의 user_id 컬럼을 사용하여 두 개의 테이블을 JOIN 하면 두 테이블의 데이터를 한 번에 조회 가능
    • User 테이블의 username과 ToDo 테이블의 contents 출력하기 :
User                     ToDo
id   | username          id  | user_id  | contents
1    | qu3vipon          1   | 1        | FastAPI Section 1
                         2   | 1        | FastAPI Section 2

> SELECT u.username, t.contents FROM user u JOIN todo t ON u.id = t.user_id

username | contents
qu3vipon | FastAPI Section 1
qu3vipon | FastAPI Section 2
  • 설명: JOIN문을 통해 User 테이블과 ToDo 테이블을 JOIN 한 뒤 출력하고자 하는 컬럼을 SELECT문에 적어주면 가장 아래 보이는 것과 같은 결과 출력 가능!