MySQL같은 관계형 데이터베이스에서 데이터를 읽거나 생성 및 수정하기 위해 사용하는 언어.
Create, Read, Update, Delete
데이터베이스에 원하는 데이터를 생성, 조회, 수정, 삭제의 작업을 하게하는 명령어
데이터를 생성할때 사용
CRUD에서 Create
데이터를 읽어 들일때 사용
CRUD에서 Read
데이터를 수정할때 사용
CRUD에서 Update
데이터를 삭제할때 사용
CRUD에서 Delete
어떠한 조건이 존재 하는지 하지 않는지 확인 할때 사용하는 SQL문
NOT EXIST 를 사용하여 반대의 경우도 체크 할 수 있음
Foreign key(외부키)로 걸려있는 2개의 table들을 join(연결)하여 양쪽 table에서 모두 row를 읽어 들이고 싶을 때 사용
join은 교집합 이라고 생각하면 됨
JOIN 유형
(INNER) JOIN
일반적인 join문
기준이 되는 테이블 (left table)과 join이 걸리는 테이블(right table) 양쪽 모두에 matching되는 row만 select 됨
LEFT (OUTER) JOIN
기준이 되는 테이블 (left table)의 모든 row와 join이 걸리는 테이블(right table)중 left table과 matching되는 row만 select 됨
RIGHT (OUTER) JOIN
join이 걸리는 테이블(right table)의 모든 row와 기준이 되는 테이블 (left table)에서 right table과 matching되는 row만 select 됨
FULL (OUTER) JOIN
기준이 되는 테이블 (left table)과 join이 걸리는 테이블(right table) 양쪽 모두의 모든 row를 select
테이블을 생성할때 사용