Data/SQL

SQL 기초_ 조건에 맞는 데이터 가져오기 / 데이터 그룹화/ 데이터 합치기

SE_TORY 2024. 4. 8. 17:28
728x90

오늘은 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조건식;

 

 

728x90

'Data > SQL' 카테고리의 다른 글

SQL 기초 _ 데이터/데이터베이스/테이블 이해하기  (0) 2024.04.03