GROUP BY를 더 잘 활용하려면 SUM, AVG, COUNT, MAX, MIN를 활용하기
결과
결과
결과
예시
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가 같은 열중에서 해당 컬럼명이 가장 작은 값을 출력
SELECT 변수 1, 변수 2, 변수 3, ...
FROM 테이블 이름
WHERE 조건1
And 조건2
GROUP BY 변수 1, 변수 2 (그룹의 기준 컬럼)
HAVING 조건
Order By 변수 1, ...;
결과
: 왼쪽 테이블에 추가 정보 붙이기
왼쪽 테이블의 모든 값을 포함하여 연결하기
SELECT a.변수 1, a.변수 2, b.변수 3 등 검색할 컬럼
FROM 테이블1 a
LEFT JOIN (연결할)테이블2 b
ON a.공통속성변수= b.공통속성변수; (조건)
: 조인 컬럼이 같은 건 만 붙여서 조회 (교집합)
SELECT a.변수 1, a.변수 2, b.변수 3, ...
FROM 테이블1 a
INNER JOIN 테이블2 b
ON a.공통속성변수= b.공통속성변수; (연결한 조건 컬럼)
--테이블이름.컬럼명 으로 구분
SELECT a.변수 1, a.변수 2, b.변수 3, ...
FROM 테이블1 a
FULL OUTER JOIN 테이블2 b
ON a.공통속성변수= b.공통속성변수;
• 메인쿼리 안에 있는 또 다른 SELECT 문장, 종속적인 관계
• 소괄호로 둘러싼 형태로 작성: (SELECT * FROM table....)
• 알려지지 않은 기준을 이용한 검색에 유용
• 메인 쿼리가 실행되기 이전에 한번만 실행됨
• 한 문장에서 여러번 사용 가능
• where절에 사용되는 서브쿼리가 가장 일반적인 형태이다
• 서브쿼리 안에는 order by절은 사용 불가
• 연산자의 오른쪽에 사용되어야함
• SELECT절에서 사용하는 서브쿼리 (위치에 따른 작명)
• 서브쿼리에서 반환되는 값은 오로지 하나의 컬럼이나 표현식
• 마치 JOIN을 사용하는 것과 같은 결과를 낸다
SELECT a.변수1,a.변수2,
(SELECT b.변수3
From 테이블 b
WHERE a.공통칼럼=b.공통칼럼) , a.변수 4
FROM 테이블 이름 a
WHERE 조건
Order By a.변수 2, ...;
• 메인쿼리의 FROM절에서 사용하는 서브쿼리
• 테이블처럼 사용되므로,여러개의 컬럼이나 표현식이 포함될 수 있음
SELECT 변수 1, 변수 2, 변수 3,...
FROM 테이블 이름 a
LEFT JOIN (SELECT 변수1, 변수2, 변수3, 변수4, 변수5
From 테이블) b
ON a.공통컬럼=b.공통컬럼
WHERE 조건
Order By 변수 1, ...;
• 메인쿼리의 WHERE절에서 사용하는 서브쿼리
• 조건절의 일부이므로, 특정 컬럼 값과 비교하기위해 여러개의 열과 행을 포함 가능
SELECT 변수 1, 변수 2, 변수 3,...
FROM 테이블 이름 a
WHERE a.공통변수 = (SELECT b.공통변수 From 테이블 b
WHERE 조건)
Order By 변수 1, ...;
• 메인쿼리의 WHERE절에서 사용하는 서브쿼리
• 포함되지 않는 경우를 서브쿼리로 반환
SELECT 변수 1, 변수 2, 변수 3,...
FROM 테이블 이름 a
WHERE a.공통변수 NOT IN (SELECT b.공통변수 From 테이블 b
WHERE 조건)
Order By 변수 1, ...;
• 키워드 중복 제거
• SELECT 바로 뒤에 위치
SELECT DISTINCT 변수 1, 변수 2, 변수 3,...
FROM 테이블 이름
WHERE 조건
Order By 변수 1, ...;
• 지시변수(Dummyvariable)확인하기
참고도서 및 링크
• 홍형경–누구나쉽게SQL
• https://commons.wikimedia.org/wiki/File:SQL_Joins.svg
• https://www.sqlservertutorial.net/sql-server-basics/sql-server-subquery/