티스토리 뷰

개발공부/🛢️ SQL

[SQL] 다수의 테이블 제어하기

2022. 9. 16. 01:32

1️⃣  데이터 그룹화

 

1)  GROUP BY  :  데이터 그룹 짓기

SELECT 컬럼명
FROM 테이블명
GROUP BY 그룹의 기준 컬럼;
--
SELECT user_id, COUNT(*)
FROM rental
GROUP BY user_id;

 

그룹함수 활용 방법

SELECT user_id, SUM(컬럼명) FROM rental GROUP BY user_id;
-- user_id가 같은 열에서 컬럼의 내용을 다 더한 값을 출력

SELECT user_id, AVG(컬럼명) FROM rental GROUP BY user_id;
-- user_id가 같은 열의 컬럼의 평균을 출력

SELECT user_id, MAX(컬럼명) FROM rental GROUP BY user_id;
-- user_id가 같은 열중에서 해당 컬럼명이 가장 큰 값을 출력

SELECT user_id, MIN(컬럼명) FROM rental GROUP BY user_id;
-- user_id가 같은 열중에서 해당 컬럼명이 가장 작은 값을 출력

 

 

 

 

2)  GROUP BY / HAVING  :  데이터 그룹에 조건 적용하기

SELECT 컬럼명
FROM 테이블명
GROUP BY 그룹의 기준 컬럼
HAVING 조건;
--
SELECT user_id, COUNT(*)
FROM rental
GROUP BY user_id
HAVING COUNT(user_id) > 1;

 

 

 

 

3)  JOIN  :  두 개의 테이블에서 조회하기

 

INNER JOIN  -  두 테이블간의 교집합

SELECT 컬럼명
FROM 테이블명1
INNER JOIN 테이블명2;
--
SELECT *
FROM rental
INNER JOIN user;

 

 

JOIN / ON  -  조건을 적용해 두개의 테이블 조회하기

SELECT 컬럼명
FROM 테이블명1
INNER JOIN 테이블명2
ON 조인될 조건;
--
SELECT *
FROM rental
INNER JOIN user
ON user.id = rental.user_id;

 

 

LEFT JOIN (LEFT OUTER JOIN) -  왼쪽 테이블의 모든 값과 교집합

SELECT 컬럼명
FROM 테이블명1
LEFT JOIN 테이블명2
ON 조인될 조건;
--
SELECT *
FROM user
LEFT JOIN rental
ON user.id = rental.user_id;

 

 

RIGHT JOIN (RIGHT OUTER JOIN)  -  오른쪽 테이블의 모든 값과 교집합

SELECT 컬럼명
FROM 테이블명1
RIGHT JOIN 테이블명2
ON 조인될 조건;
--
SELECT *
FROM user
RIGHT JOIN rental
ON user.id = rental.user_id;

 

 

💡 참고

JOIN의 종류

 

이미지 출처 : https://dsin.wordpress.com/2013/03/16/sql-join-cheat-sheet/

 

 

 

 

 


 이 글은 엘리스의 AI트랙 5기 강의를 들으며 정리한 내용입니다.

반응형

'개발공부 > 🛢️ SQL' 카테고리의 다른 글

[SQL] 서브쿼리  (0) 2022.09.16
[SQL] SQL과 함수  (0) 2022.09.15
[SQL] 데이터를 제어하는 DML (데이터 조작어)  (0) 2022.09.15
[SQL] SQL이란 무엇인가?  (0) 2022.09.13
프로필사진
개발자 삐롱히

프론트엔드 개발자 삐롱히의 개발 & 공부 기록 블로그