#1 교차조인 (크로스 조인)(CROSS JOIN)
SELECT (가져올 열 이름) FROM table1 CROSS JOIN table2
여기서 ‘가져올 열 이름’에 들어갈 사항은
1)한쪽 테이블의 모든 열을 가져오는 경우 테이블1.*, 테이블2.*
이런식으로 구분지어서 가져오는게 가능하다.
2)양쪽 모두 동일한 열 이름이 있어서 한쪽열을 기준으로 삼고싶은 경우
테이블1.컬럼이름
예시1
SELECT * FROM tbl_namelist CROSS JOIN tbl_grades;
예시2
SELECT * FROM tbl_namelist INNER JOIN tbl_grades
ON tbl_namelist.no = tbl_grades.no;
#2 내부조인 (INNER JOIN)
크로스조인의 결과에서 지정한 열의 값이 일치하는 행만 가져오는 방법이
내부 조인이다.
#예시1 - INNER JOIN 버전
SELECT * FROM tbl_name INNER JOIN tbl_age ON id = no;
*ON 다음에 쓰이는 것이 일치 조건이다.
#예시2 - WHERE 절로 INNER JOIN 버전
SELECT * FROM tbl_name, tbl_age
WHERE tbl_name.id = tbl_age.no;
#3 외부 조인 (OUTER JOIN)
*일치하지 않는 결과라도 가져올 수 있다.
1)왼쪽 외부 조인
*왼쪽 테이블을 기준으로 표현해준다.
SELECT * FROM tbl_name LEFT JOIN tbl_age ON id = no;
예시
SELECT * FROM tbl_namelist LEFT JOIN tbl_grades
ON tbl_namelist.no = tbl_grades.no;
2)오른쪽 외부 조인
*오른쪽 테이블을 기준으로 표현해준다.
SELECT * FROM tbl_name RIGHT JOIN tbl_age ON id = no;
예시
SELECT * FROM tbl_namelist RIGHT JOIN tbl_grades
ON tbl_namelist.no = tbl_grades.no;
3)전체 외부 조인 (FULL JOIN)
SELECT * FROM tbl_name FULL JOIN tbl_age ON id = no;
예시
SELECT * FROM tbl_namelist FULL JOIN tbl_grades
ON tbl_namelist.no = tbl_grades.no;
'개발일지 > SQL' 카테고리의 다른 글
SQL 기초20 집합연산자 UNION, UNION ALL, INTERSECT, EXISTS, ANY (0) | 2022.08.25 |
---|---|
SQL 기초 19 뷰(view) (0) | 2022.08.25 |
SQL 기초 17 서브쿼리 (0) | 2022.08.25 |
SQL 기초16 데이터 갱신 update (0) | 2022.08.25 |
SQL 기초15 데이터 입력 기본 insert 와 응용 insert (0) | 2022.08.25 |