GROUP BY - 특정 컬럼을 기준으로 그룹화
SUM, AVG, COUNT, MAX, MIN를 활용하여 데이터를 그룹화할 수 있다.
SELECT user_id, SUM(컬럼명) // user_id와 컬럼의 내용을 다 더한 값을 조회
FROM rental
GROUP BY user_id; // user_id가 같은 열에서
SELECT user_id, MAX(컬럼명) // user_id와 해당 컬럼이 가장 큰 값을 출력
FROM rental
GROUP BY user_id;
HAVING - 데이터 그룹에 조건을 적용
SELECT user_id, COUNT(*)
FROM rental
GROUP BY user_id
HAVING COUNT(user_id) > 1; // user_id가 같은 1개 초과의 데이터의 갯수 조회
JOIN - 두 개의 테이블을 묶어서 한 번에 조회
특정 컬럼을 테이블 간 연결 수단으로 사용하여 SELECT 구문 안에 테이블을 연결한다.
#1 INNER JOIN
두 테이블의 교집합만 조회하는 경우
겹치지 않는 행이 존재하면 결과에서 제외된다.
SELECT *
FROM rental // 기존 테이블
INNER JOIN user // 연결할 테이블
ON user.id = rental.user_id; // 연결 조건 컬럼
#2 LEFT JOIN
null 값을 가진 정보를 포함하여 조회하는 경우
왼쪽 데이터와 겹치는 부분을 출력한다. (FROM ~의 모든 테이블을 출력하되, LEFT JOIN ~의 테이블을 추가)
SELECT *
FROM user
LEFT JOIN rental
ON user.id = rental.user_id;
# RIGHT JOIN
오른쪽 데이터와 겹치는 부분을 출력한다. (오른쪽 테이블은 모두, 왼쪽을 추가)
SELECT *
FROM user
RIGHT JOIN rental
ON user.id = rental.user_id;
'Database' 카테고리의 다른 글
[SQL] 계층형 질의 - WITH, CTE (0) | 2024.05.12 |
---|---|
[SQL] 집합 연산자 (0) | 2024.05.12 |
[DB/SQL] 서브쿼리 (0) | 2024.04.07 |
[DB/SQL] 키 Key (0) | 2024.04.07 |
[DB/SQL] 관계형 데이터베이스 쿼리 명령어 - DDL, DML, DCL (1) | 2024.04.07 |