Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 맛집추천서비스
- 큐레이팅앱
- 디자이너교육
- uxui인턴형프로그램4기
- uiux인턴형프로그램
- 서비스기획
- 데이터분석
- 당근분석
- 스나이퍼팩토리
- uxui분석
- uiux인턴형프로그램4기
- uxui리뷰
- 데이터공부
- 당근uiux
- UIUX디자이너
- uxui인턴형프로그램
- 서비스기획공부
- 당근마켓uiux
- 유데미
- 인사이드아웃
- 웅진씽크빅
- 디자이너인턴
- uiux리뷰
- 앱ui/ux분석
- UXUI디자인
- 당근마켓붕어빵
- uiux디자인
- UXUI디자이너
- 서비스기획자
- uiux스터디
Archives
- Today
- Total
neesoo.zip
[MySQL] JOIN(INNER JOIN, LEFT JOIN, RIGHT JOIN) 본문
728x90
JOIN
둘 이상의 테이블을 묶어 하나의 집합으로 만드는 것으로, 서로 다른 테이블에서 데이터를 가져오고 싶을 때 사용한다.
INNER JOIN
두 테이블에서 공통된 데이터가 존재하는 행에 대해서만 데이터를 가져온다.
# 테이블: FIRST_HALF, ICECREAM_INFO
SELECT FIRST_HALF.FLAVOR
FROM FIRST_HALF JOIN ICECREAM_INFO
ON FIRST_HALF.FLAVOR = ICECREAM_INFO.FLAVOR
WHERE TOTAL_ORDER > 3000 AND INGREDIENT_TYPE = 'fruit_based'
ORDER BY TOTAL_ORDER DESC
아래와 같이 별칭을 써서(AS로 표기) 나타내는 방법도 있다. 또한 띄어쓰기 함으로써 AS는 생략가능하다.
# 테이블: FIRST_HALF, ICECREAM_INFO
SELECT FH.FLAVOR
FROM FIRST_HALF AS FH JOIN ICECREAM_INFO AS II
ON FH.FLAVOR = II.FLAVOR
WHERE TOTAL_ORDER > 3000 AND INGREDIENT_TYPE = 'fruit_based'
ORDER BY TOTAL_ORDER DESC
LEFT JOIN, RIGHT JOIN
LEFT JOIN
첫번째 테이블을 기준으로 두번째 테이블을 조합한다.
ON에서 조건을 만족하지 않을 때 첫번째 테이블의 필드 값을 그대로 가져오고, 해당 레코드의 두번째 테이블 필드값은 NULL로 표시된다. (ON 절은 WHERE절과 같은 기능)
RIGHT JOIN
두번째 테이블을 기준으로 첫번째 테이블을 조합한다.
ON에서 조건을 만족하지 않을 때 두번째 테이블의 필드 값을 그대로 가져오고, 해당 레코드의 첫번째 테이블 필드값은 NULL로 표시된다. (ON 절은 WHERE절과 같은 기능)
728x90
'etc.zip > sql' 카테고리의 다른 글
[MySQL] NULL 처리 (IS NULL/IS NOT NULL, IFNULL) (0) | 2024.01.02 |
---|---|
[MySQL] IFNULL(컬럼명, 대체할 값), ORDER BY 정렬 여러개일 때 (0) | 2023.12.30 |
[MySQL] DATE_FORMAT(날짜, 형식)과 YEAR() 함수 (1) | 2023.12.30 |