[데브코스] Insert, Update, Join

Updated: Categories:

W2D4 - Join 문법 실습하고 사용법 정리

새로 배운 것

Type

  • 돈 관련된거는 DECIMAL 타입을 사용하자
  • 시간 데이터는 TIMESTAMP만 써도 다 된다~
  • 고정된 길이의 문자열은 CHAR, 가변적이면 VARCHAR, 길이가 긴 문자열은 TEXT
  • SPATIAL은 위도, 경도를 반영한 위치 타입

Delete vs Truncate

  • 둘 다 데이터를 삭제하는 명령어임
  • Truncate이 속도가 더 빠르지만 조건을 걸 수 없고 롤백이 불가능함


Create, Delete, Insert, Update 등등..

  • 문법 정리는 기존 레포에서 하기로 함 -> 🚀 Dev Memo


Join

  • 크게 6가지 종류가 있다
  • 서로 다른 테이블을 통합해 새로운 테이블?을 만들어내기~
  • 백엔드는 inner & left 조인 정도만 잘 알면된다고 함 (휴 😇)

join2

join


기본 문법

SELECT 필드명
FROM 테이블명
[INNER/LEFT/RIGHT/CROSS] JOIN 테이블명 ON 기준설정(키값매핑)
WHERE 조건
  • 조인종류 옵션 선택 안하면 default로 inner join으로 수행됨
  • from 테이블이 base가 되는 테이블이다
  • where 조건은 from 테이블을 기준으로 수행됨

Inner Join

  • base 테이블과 join 테이블의 공통 부분만을 출력한다

Left/Right Join

  • Left 조인시 base 테이블을 기준으로 출력, join 테이블에 해당 키가 없다면 NULL로 채움
  • Right 조인시 join 테이블이 기준이 된다. (Left와 정반대로 동작)

Full(Outer) Join

  • MySQL에서는 Full 조인을 지원하지 않는다
  • 따라서 Left, Right 조인을 따로 한 결과를 합집합(union)으로 묶어버린다
[LEFT 조인한거]
UNION
[RIGHT 조인한거];

Cross Join

  • base 테이블과 join 테이블의 모든 조합을 출력
  • 각각 테이블 레코드 수가 M, N이라면 크로스 조인 결과는 M*N

Self Join

  • base 테이블과 join 테이블이 일치할 때.
  • 자기 자신을 가로로 두번 출력하는 것임