MySQL 정리 페이지

황인호·2022년 6월 7일
0

TIL 모음

목록 보기
37/119

그동안 학습한 MySQL내용을 정리한다.

  • Join이라는 기능을 사용하면, 한눈에 두개의 테이블을 연결해서 볼수 있다.

join이란?

⇒ 두 테이블의 공통된 정보 (key 값)을 기준으로 테이블을 연결해서 한 테이블처럼 보는 것을

의미합니다.

ex) users 테이블과 orders 테이블을 연결해서 한 눈에 보고싶다!

select * from users

  • left join point_user on users.user_id = point_user.user_id
  • Left Join: 유저 데이터로 Left Join 이해해보기 👉 앗! 어디서 많이 본 그림 아닌가요? 생각하는 그 그림이 맞아요! SQL에서의 Join은 두 집합 사이의 관계와 같답니다. ![https://s3-us-west-2.amazonaws.com/secure.notion-static.com/69c639a8-4372-4b2b-84c0-3f6eedabfbcf/Untitled.png](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/69c639a8-4372-4b2b-84c0-3f6eedabfbcf/Untitled.png) - 여기서 A와 B는 각각의 테이블을 의미하고 둘 사이의 겹치는 부분은, 뭔가 테이블 A와 B의 key 값이 연결되는 부분이다. (key값 user_id)

left join은 어떤 데이터는 모든 필드가 채워져있지만,어떤 데이터는 비어있는 필드가 있습니다.

꽉찬 데이터 : 해당 데이터의 user_id 필드값이 point_users 테이블에 존재해서 연결한 경우

비어있는 데이터 : 해당 데이터의 user_id 필드값이 point_users 테이블에 존재하지 않는 경우

(이 경우는 회원이지만 수강을 등록/시작하지않아 포인트를 획득하지 않은 회원인 경우 ⇒회원은 맞음)

  • inner join point_user on user.user_id = point_user.user_id

  • 기서 A와 B는 각각의 테이블을 의미합니다. 이 그림은 두 테이블의 교집합을 이야기하고 있습니다.

여기서는 비어있는 필드가 있는 데이터가 없다.

그 이유는, 같은 user_id를 두 테이블에서 모두 가지고 있는 데이터만 출력했기 때문입니다.

위의 쿼리가 실행되는 순서 : from → join → select

항상 from에 들어간 테이블을 기준으로, 다른 테이블이 붙는다고 생각하면 편합니다.

profile
성장중인 백엔드 개발자!!

0개의 댓글