경기도 인공지능 개발 과정/SQL

[SQL] 데이터 그룹

agingcurve 2022. 8. 12. 22:50
반응형

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가 같은 열중에서 해당 컬럼명이 가장 작은 값을 출력

 

 

GROUP BY에 조건을 부여

GROUP BY / HAVING 절의 기본 문법

SELECT user_id, COUNT(*)
FROM rental
GROUP BY user_id(그룹화 기준)
HAVING COUNT(user_id) > 1(조건);

 

 

두 테이블의 정보를 한 번에 조회하는 INNER JOIN

두 테이블의 정보를 한 번에 조회

SELECT *
FROM rental
INNER JOIN user;

 

 

JOIN에 조건을 적용

rental 테이블과 user 테이블의 정보 중 user_id가 같은 것끼리 연결

 

user_id가 일치하는 정보만 조회

 

 

INNER JOIN / ON 문의 기본 문법

SELECT *
FROM rental
INNER JOIN user (연결할 테이블)
ON user.id = rental.user_id (연결할 조건);

 

 

LEFT JOIN

 

LEFT JOIN 문의 기본 문법

user 테이블을 모두 출력하되 모든 user 테이블의 user_id와 rental 테이블의 id가 겹치도록 합친다.

SELECT * (명령)
FROM user (테이블)
LEFT JOIN rental (검색 컬럼)
ON user.id = rental.user_id;(조건)

 

 

INNER JOIN VS LEFT JOIN

 

 

 

RIGHT JOIN

테이블 연결 예시 결과

 

RIGHT JOIN 문의 기본 문법

rental 테이블을 모두 출력하되 모든 rental 테이블의 user_id와 user 테이블의 id가 겹치도록 합친다.

SELECT *
FROM user
RIGHT JOIN rental (연결테이블)
ON user.id = rental.user_id;(조건)

 

LEFT JOIN VS RIGHT JOIN

'경기도 인공지능 개발 과정 > SQL' 카테고리의 다른 글

SQL SQLite 사용  (0) 2022.04.29
SQL Mongo DB 활용  (0) 2022.04.28
SQL 활용  (0) 2022.04.22
SQL 기초  (0) 2022.04.22
SQL mysql 실습 셋팅  (0) 2022.04.20