반응형
테이블 컬럼 참조 (Reference)
여러개의 테이블이 각각의 독립적인 데이터를 지니기에는 데이터가 방대해질수록 중복되는 내용이 많아 질 수 있음
때문에 기존에 존재하는 데이터를 이용하여 재사용하는 것을 의미, 중복 데이터를 최소화함으로써 데이터 용량 최적화
- 예시) customers 테이블의 'customer_id' 를 orders 테이블의 'customer_id' 로 이용
MySQL에서 테이블 참조하기
- 테이블과 컬럼 생성
- 참조 할 컬럼은 반드시 참조 될 컬럼과 데이터타입을 맞춰줘야 함
- 참조 설정
- 테이블 설정에서 Foreigm Keys 탭 이동
- 1. Foreign Key Name : 이름 지정
2. Referenced Table : 참조할 테이블 선택
3. Column : 참조 될 컬럼 선택
4. Referenced Column : 참조 할 컬럼 선택
- 1. Foreign Key Name : 이름 지정
- 참조가 되지 않을 경우 데이터타입이 다를 수 있으므로 꼭 확인
- 테이블 설정에서 Foreigm Keys 탭 이동
복수의 테이블 합쳐서 사용하기 (join)
- 관계형 데이터베이스(RDBMS)에서 많이 사용
- 테이블끼리 서로 연결해주는 역할 (기본적으로 곱집합)
- on을 이용하여 교집합으로 출력 할 수 있음
- select * from 테이블1 join 테이블2 on 수식
- 수식 부분에 각 테이블에 참조 관계인 컬럼을 연결하면 테이블1과 테이블2의 교집합 데이터 출력
- 테이블 두개를 합쳐서 출력 해보기 (customers, orders)
단, customers의 id와 orders의 customer_id가 일치 한 것들만!
- select * from customers join orders on customers.id = orders.customer_id;
= select * from customers c join orders o on c.id = o.customer_id;
- select * from customers join orders on customers.id = orders.customer_id;
left join (right join)
- join처럼 교집합의 값만 출력하는 것이 아닌 왼쪽(오른쪽)의 테이블의 데이터를 모두 표시
- 즉, 다른 테이블의 값이 없어도 지정한 테이블의 값이 있으면 출력
반응형