JOIN이란?
서로 다른 테이블의 데이터를 같이 조작할때 사용
JOIN 테스트 케이스 진행과정
- CRUD 테스트 케이스에서 시작
- 테이블(Table : 데이터베이스 테이블) 설계(math_comment) 후 생성
- UTF-8 설정
- id / INT : pk(Priority Key : 고유 키), nn(Not Null : Null 불가), ai(Auto Increment : 알아서 숫자가 늘어나며 생성)
- student_id / INT : nn
- comment / VARCHAR(255) : nn
- 학생ID(student_id)를 외래 키(Foreign Keys) 설정
- 데이터베이스 test_schema의 math_score를 참조
- student_id와 math_score의 id를 연결
- 스키마 내 테이블 스테이터스 확인
-
show tables;
-
- 테이블 math_score 와 math_comment 스테이터스 확인
-
desc math_score; desc math_comment;
-
- Create 테스트 케이스 작성
- 이지은(student_id : 1), 성소(student_id : 2), 전효성(student_id : 3)의 수학 코멘트(math_comment) 추가
- id는 Auto Increment : 자동 생성되며 늘어나니 따로 추가할 필요 없음
-
insert into math_comment(student_id, comment) values(1, '꽃갈피'); insert into math_comment(student_id, comment) values(1, '팔레트'); insert into math_comment(student_id, comment) values(2, '이루리'); insert into math_comment(student_id, comment) values(3, '반해');
- INNER JOIN 테스트
- 1번째 라인은 무엇(CRUD)을 할 지에 대해서와 기준 테이블과 JOIN 테이블을 정함
2번째 라인에서 어떤 동일한 데이터를 확인할 지를 정함
<추가 Where> 3번째 라인에서 어떤 것을 기준으로 찾을지를 정함 - 3번째 줄 : 우선 '이지은'이라는 학생 데이터
2번째 줄 : math_comment의 학생 아이디(student_id)와 math_score의 학생 아이디(id)가 같은 데이터
1번째 줄 : 기준은 math_comment이고, math_score를 합치되 math_comment의 데이터만 표시 -
select math_comment.* from math_comment inner join math_score on math_score.id = math_comment.student_id where math_score.name = "이지은";
- 1번째 라인은 무엇(CRUD)을 할 지에 대해서와 기준 테이블과 JOIN 테이블을 정함
- INNER JOIN 테스트케이스 최종 확인
- id는 테스트를 위해서 몇 번 하다보니 바뀜, id의 숫자는 무시
'Programming > SQL' 카테고리의 다른 글
[SQL] TRANSACTION 테스트 케이스 (0) | 2021.02.18 |
---|---|
[SQL] CRUD 테스트 케이스 (0) | 2021.02.18 |