데이터가 결함없는 상태인 무결성을 지키기 위해 만들어진 개념이다
=> 테이블 간의 연관 관계를 표현하는 값
1. 1:1 관계
ex) 사용자는 1개의 사용자 정보를 가진다
2. 1:N 관계
ex) 사용자는 여러개의 주문을 할 수 있다
3. N:M 관계
ex) 여러명의 학생은 여러개의 학원을 다닐 수 있
CREATE TABLE 테이블명
FOREIGN KEY (컬럼명) REFERENCES 참조_테이블명 (참조_컬럼명)
ON DELETE [연계 참조 제약 조건]
ON UPDATE [연계 참조 제약 조건]
);
@ 연계 참조 제약 조건
SELECT p.postId, p.title, p.content, u.email
FROM Posts as p
JOIN Users as u
ON p.UserId = u.userId;
기존에 Posts 테이블과 Users 테이블이 관계를 맺고 있다면
UserId 와 userId 가 같은 상황의 user의 email 을 가져와 조회를 진행한다
@as => alias( 별칭 ) 으로 테이블을 간단하게 나타내기 위해 사용한다