[MySQL] JOIN, UNION 사용법

🔥Log·2022년 12월 1일
0

MySQL

목록 보기
4/16

☕ 시작


이번 글에서는 JOINUNION에 대해서 알아보겠다.
JOIN은 여러 테이블의 조합하여 하나의 결과로 보여주는 기능인데, 관계형 데이터 베이스의 존.재.이.유가 아닌가 싶다 ㅎㅎㅎ
그리고, JOIN은 실무에서 무조건 쓰이니까 꼭 알아두자!

UNION은 여러 개의 SELECT문을 하나의 결과로 보여주는 기능이다. 이 때, 각각의 SELECT문으로 선택된 필드의 개수와 타입과 순서는 모두 같아야한다.


🧾 JOIN의 종류


1. INNER JOIN

SELECT * FROM users INNER JOIN members ON users.name = members.name;
  • users테이블의 name과 members테이블의 name이 같은 데이터들을 반환

2. LEFT JOIN

SELECT * FROM users LEFT JOIN members ON users.name = members.name;
  • users테이블에서 name이 members테이블의 name이 같은 데이터들을 반환

3. RIGHT JOIN

SELECT * FROM users RIGHT JOIN members ON users.name = members.name;
  • users테이블의 name과 같은 name값을 갖는 members테이블의 데이터들을 반환

4. CROSS JOIN

SELECT * FROM users CROSS JOIN members;
  • n개 테이블의 합집합

🧾 UNION의 종류


예시)
users테이블에서 나이가 20세 이상인 사람들과 이름이 홍길동인 사람들을 합쳐서 보여줘라.

1. UNION

위의 예시를 UNION을 활용한다면 아래와 같이 사용할 수 있다.

SELECT * FROM users WHERE age >= 20
UNION
SELECT * FROM users WHERE name = '홍길동';

UNION은 기본적으로 중복 데이터는 빼고 보여주는데, 중복 데이터까지 보여주려면 UNION 대신 UNION ALL을 사용하면 된다.

2. UNION ALL

SELECT * FROM users WHERE age >= 20
UNION ALL
SELECT * FROM users WHERE name = '홍길동';

🙏 참고


https://www.w3schools.com/mysql/mysql_join.asp

0개의 댓글