일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Linux
- 입력
- substring
- 테이블
- groupby
- pytthon
- live server
- EQUI
- date_add
- foreignkey
- java
- DB접속
- primarykey
- cmd
- 데이터타입
- 서브쿼리
- select
- 줄바꿈
- visual studio code
- 3306
- 데이터베이스
- word wrap
- 집계 함수
- 조인
- MySQL
- 생성
- DISTINCT
- 리눅스 명령어
- 삭제
- now()
- Today
- Total
재유's
[MySQL] 조인 (EQUI, INNER, OUTER) 본문
조인(JOIN)
두 개 이상의 테이블에서 동시 데이터 검색
EQUI 조인
FROM 절에서 테이블을 콤마로 구분하고 WHERE절에서 조인조건을 명시항 두 개 이상의 테이블에서 동시 데이터 검색
SELECT {컬럼 이름 [ as 별칭] ... } FROM 테이블1, 테이블2, ..., 테이블n WHERE 조인조건 [ AND 검색조건 ] [GROUP BY 컬럼이름] [ORDER BY 컬럼이름 [정렬옵션]] |
- 추가적인 검색 조건은 조인 조건 뒤에 AND로 명시
- FROM절에서는 데이블 이름을 나열하면서 별칭 지정 가능
- 두개 이상의 테이블에서 같은 이름의 컬럼이 있을 경우
SELECT에서 각 컬럼을 테이블이름.컬럼이름 혹은 별칭이름.컬럼이름 형태로 지정
ex)
SELECT s.name, s.deptno, d.name FROM student s, department d WHERE s.deptno = d.deptno AND s.name = '홍길동'; |
INNER 조인
EQUI조인의 다른형태.
SELECT {컬럼 이름 [ as 별칭] ... } FROM 테이블1 INNER JOIN 테이블 2 ON 조인조건 [WHERE AND 검색조건 ] [GROUP BY 컬럼이름] [ORDER BY 컬럼이름 [정렬옵션]] |
ex)
SELECT s.name, s.deptno, d.name FROM student s INNER JOIN department d ON s.deptno = d.deptno WHERE s.name = '홍길동'; |
OUTER 조인
양쪽 테이블중에서 어느 한 테이블의 모든 데이터를 출력해야 하는 경우 사용. (LEFT, RIGHT)
지정된 방향의 테이블에서 모든 데이터 출력을 보장한다.
SELECT {컬럼 이름 [ as 별칭] ... } FROM 테이블1 LEFT OUTER JOIN 테이블 2 ON 조인조건 [WHERE AND 검색조건 ] [GROUP BY 컬럼이름] [ORDER BY 컬럼이름 [정렬옵션]] |
ex)
SELECT s.name, s.deptno, d.name FROM student s LEFT OUTER JOIN department d ON s.deptno = d.deptno WHERE s.name = '홍길동'; |
'IT Story > : : MySQL' 카테고리의 다른 글
[MySQL] 데이터 입력, 수정, 삭제 (INSERT, UPDATE, DELETE) (0) | 2018.12.26 |
---|---|
[MySQL] 서브쿼리 (SubQuery) (0) | 2018.12.24 |
[MySQL] 그룹조회 (0) | 2018.12.24 |
[MySQL] 집계함수 (0) | 2018.12.24 |
[MySQL] 날짜 관련 함수 (0) | 2018.12.21 |