- 본 페이지에서 사용하는 테이블에 대한 설명의 아래 JOIN 활용하기 링크에서 확인:)
2021.07.27 - [Programming/MySQL] - [Programming][MySQL] JOIN 활용하기(feat. KOSPI50 종목)
[Programming][MySQL] JOIN 활용하기(feat. KOSPI50 종목)
데이터 설명 JOIN 함수를 사용하기 위해 price, analysis, information 세 테이블을 임의로 만들었다. price 테이블 INVESTING.COM에서 출력한 KOSPI50 종목(2021.07.26 기준)의 가격 데이터로 id, 종목번호(ticke..
lydia-ds.tistory.com
- NATURAL JOIN
SELECT p.ticker, p.stock, p.close,
i.gender, i.age, i.firm
FROM price AS p NATURAL JOIN information AS i;
NATRUAL JOIN 은 INNER JOIN과 같은 역할을 한다. 두 테이블 간의 일치하는 경우만 출력하는 것이다. 단지, INNER JOIN처럼 ON으로 key를 지정하지 않고 그냥 NATURAL JOIN만 사용해서 JOIN 할 수 있다.
- CROSS JOIN
SELECT p.ticker, p.stock, p.close,
i.gender, i.age, i.firm
FROM price AS p CROSS JOIN information AS i;
CROSS JOIN은 한 행씩 JOIN 하는 모든 행들과 결합하여 만들어지는 테이블이다. 오른쪽 그림과 같이 순서대로 모든 행과 JOIN이 이루어진다. 출력 결과를 보면, 삼성전자가 20행의 information 데이터와 JOIN 되었고 다음 순서로 카카오가 JOIN 되고 있다.
- 자기 자신과 JOIN
SELECT *
FROM information AS i LEFT OUTER JOIN information AS i_join
ON i.buy = i_join.sell;
JOIN문을 같은 테이블끼리도 수행할 수 있다. 위의 쿼리에서 information 테이블을 buy 열(Column)과 sell 열(Column)로 JOIN 했다. 그 결과, buy 열(Column)의 값과 같은 값의 sell 값이 JOIN 되어 오른쪽에 출력되는 것을 볼 수 있다. 이것을 통해 어떤 종목을 샀을 때 그 종목을 판 사람은 누구인지를 파악할 수 있다.
→ 자기 자신과의 JOIN은 주로 팀에서 하위 부서나 집단의 하위 집단들을 표현할 때 속하는 개념으로 사용해준다.
'Database > MySQL' 카테고리의 다른 글
[Programming][MySQL] 테이블 만들기(CREATE DATABASE/ CREATE TABLE/ INSERT INTO/ DELETE FROM) (0) | 2021.08.02 |
---|---|
[Programming][MySQL] 서브쿼리 (feat. KOSPI50 종목) (0) | 2021.07.28 |
[Programming][MySQL] JOIN 활용하기(feat. KOSPI50 종목) (0) | 2021.07.27 |
[Programming][MySQL] 문자열 가공하기(Feat. 카카오 주가 데이터) (0) | 2021.07.26 |
[Programming][MySQL] IF/ CASE 조건 함수(Feat. 카카오 주가 데이터) (0) | 2021.07.26 |
댓글