오늘은 SQL에서 조건을 만족시키는 데이터를 가져오는 법과 데이터 그룹화를 하는 방법에 대해 공유하겠습니다!
조건에 맞는 데이터 가져오기
SELECT [컬럼이름]
FROM [테이블이름]
WHERE [조건식];
*조건식을 구성하는 방법*
연산자 | 의미 | |
비교연산자 | A = B | A와 B가 같다 |
A != B | A와 B가 같지 않다 | |
A > B | A가 B보다 크다 | |
A >= B | A가 B보다 크거나 같다 | |
A < B | A가 B보다 작다 | |
A <= B | A가 B보다 작거나 같다 | |
논리연산자 | A AND B | A와 B모두 TRUE 이면 TRUE |
A OR B | A와 B 둘 중 하나만 TRUE 이면 TRUE | |
NOT A | A 가 아니면 TRUE | |
BETWEEN | [컬럼이름] BETWEEN A AND B | A <= 컬럼값 <= B |
IN | [컬럼이름] IN (A, B,..) | [컬럼이름] = A OR [컬럼이름] = B |
LIKE | [컬럼이름] LIKE [검색할문자열] | 해당 컬럼 값이 [검색할문자열]을 포함하고 있는 행만 선택 |
NULL | [컬럼이름] IS NULL | 해당 컬럼에 NULL값이 있는 행만 선택 |
[컬럼이름] IS NOT NULL | 해당 컬럼에 NULL값이 없는 행만 선택 |
데이터 정렬하기
<오름차순 정렬>
SELECT [컬럼이름]
FROM[테이블이름]
WHERE조건식
ORDER BY [컬럼이름] ASC; (ASC는 생략 가능)
<내림차순 정렬>
SELECT [컬럼이름]
FROM[테이블이름]
WHERE조건식
ORDER BY [컬럼이름] DESC;
데이터 그룹화
: 그룹 별 데이터를 집계할 때 사용하며, 엑셀의 피벗기능과 유사함
SELECT [GROUP BY대상컬럼이름], … , [그룹함수]
FROM [테이블이름]
WHERE [조건식]
GROUP BY [컬럼이름];
데이터 그룹에 조건 설정하기
: 가져올 데이터 그룹에 조건을 지정함
HAVING 절의 조건식에서는 그룹 함수(집계 함수)만 사용
→ SUM(), AVG(), MIN(), MAX(), COUNT(*)
SELECT [컬럼이름], …, [그룹함수]
FROM [테이블이름]
WHERE [조건식]
GROUP BY [컬럼이름]
HAVING [조건식];
SQL 쿼리 실행 순서
: SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY 키워드를 동시에 사용할 때 쿼리 작성하는 순서
순서대로 키워드를 작성하지 않으면 오류 발생
키워드 | 작성 순서 |
SELECT | 1 |
FROM | 2 |
WHERE | 3 |
GROUP BY | 4 |
HAVING | 5 |
ORDER BY | 6 |
데이터 합치기
JOIN : 같은 의미를 가지는 컬럼의 값을 기준으로 테이블을 합칠 때 사용하는 키워드
< INNER JOIN>
: 두 테이블 모두에 있는 값만 합치기
SELECT [컬럼이름]
FROM [테이블A 이름]
INNER JOIN [테이블B 이름]
ON [테이블A 이름].[컬럼A이름] = [테이블B 이름].[컬럼B이름]
WHERE조건식;
< LEFT JOIN>
: 왼쪽 테이블에 있는 값 기준으로 합치기
SELECT [컬럼이름]
FROM [테이블A 이름]
LEFT JOIN [테이블B 이름]
ON [테이블A 이름].[컬럼A이름] = [테이블B 이름].[컬럼B이름]
WHERE조건식;
< RIGHT JOIN>
: 오른쪽 테이블에 있는 값 기준으로 합치기
SELECT [컬럼이름]
FROM [테이블A 이름]
RIGHT JOIN [테이블B 이름]
ON [테이블A 이름].[컬럼A이름] = [테이블B 이름].[컬럼B이름]
WHERE조건식;
'Data > SQL' 카테고리의 다른 글
SQL 기초 _ 데이터/데이터베이스/테이블 이해하기 (0) | 2024.04.03 |
---|