개발 기록
처음 시작하는 SQL 프로그래밍 -2 본문
코드프레소 Java 웹 개발 체험단 활동 중
처음 시작하는 SQL 프로그래밍 강좌를 기반으로 작성하였습니다.
코드프레소 URL: https://www.codepresso.kr/
SQL 명령어를 이용한 데이터의 변경
1. UPDATE 명령어를 이용한 데이터 수정
UPDATE
- 기존의 데이터를 수정할 때 사용한다.
- WHERE 절에 명시한 조건에 해당하는 데이터를 변경한다.
- 명시하지 않으면 모든 ROW의 값이 변경될 수 있다.
UPDATE table_name
SET column1 = value1,
column2 = value2,
...
WHERE condition;
2. DELETE 명령어를 이용한 데이터 삭제
DELETE
- 기존 데이터를 삭제할 수 있다.
- WHERE 절에 명시한 조건에 해당하는 데이터를 삭제한다.
- 명시하지 않으면 해당 테이블의 모든 데이터가 삭제될 수 있다.
- 지워진 데이터는 복구가 어렵다.
DELETE FROM table_name
WHERE condition;
SQL 명령어를 이용한 데이터의 집계
1. COUNT 함수를 이용한 데이터 개수 집계
COUNT 함수
- 조회된 데이터의 개수를 계산하는 함수
- WHERE 절을 통해 필터링된 데이터의 개수를 계산할 수 있다.
- Null Value는 카운트되지 않는다.
SELECT COUNT(column_name)
FROM table_name
WHERE condition;
2. SUM 함수를 이용한 데이터의 합 집계
SUM 함수
- 조회된 데이터의 합을 계산하는 함수
- WHERE 절을 통해 필터링된 데이터의 합을 계산할 수 있다.
- *을 사용할 수 없고 특정 컬럼명을 명시해야 한다.
SELECT SUM(column_name)
FROM table_name
WHERE condition;
3. MIN, MAX 함수를 이용한 최댓값, 최솟값 집계
MIN, MAX 함수
- MIN은 조회된 데이터에서 특정 컬럼의 최솟값을 계산하는 함수
- MAX는 조회된 데이터에서 특정 컬럼의 최댓값을 계산하는 함수
- WHERE 절을 통해 필터링된 데이터의 최댓값/최솟값 계산 가능
SELECT MIN(column_name)
FROM table_name
WHERE condition;
SELECT MAX(column_name)
FROM table_name
WHERE condition;
4. AVG 함수를 이용한 평균값 집계
AVG 함수
- 조회된 데이터에서 특정 컬럼의 평균값을 구하는 함수
- WHERE 절을 통해 필터링된 데이터에서 특정 컬럼의 평균값을 계산할 수 있다.
SELECT AVG(column_name)
FROM table_name
WHERE condition;
5. VARIANCE, STDDEV 함수
VARIANCE, STDDEV 함수
- VARIANCE: 조회된 데이터에서 특정 컬럼의 분산 계산
- STDDEV: 조회된 데이터에서 특정 컬럼의 표준편차 계산
- 분산과 표준편차는 데이터들이 평균에서 벗어나 있는 정도를 측정하는 지표
SELECT VARIANCE(column_name)
FROM table_name
WHERE condition;
SELECT STDDEV(column_name)
FROM table_name
WHERE condition;
6. GROUP BY 명령어를 이용한 그룹별 데이터 집계
GROUP BY 명령어
- 특정 컬럼들을 기준으로 데이터를 그룹 지어 분석한다.
- 한 개 이상의 컬럼으로 그룹화 가능
- 집계 함수들과 함께 자주 사용된다.
SELECT column_name1, column_name2, ...,
Aggregation Functions ...
FROM table_name
GROUP BY column_name1, column_name2, ...;
7. HAVING 명령어를 이용한 집계 데이터 필터링
HAVING
- 그룹화한 결과를 필터링해준다.
- 그룹화 전 필터링은 WHERE, 그룹화 후 필터링은 HAVING
SELECT column_name1, column_name2, ...
Aggregation Functions ...
FROM table_name
GROUP BY column_name1, column_name2, ...
HAVING condition;
SQL 명령어를 이용한 데이터의 결합
1. INNER JOIN 명령어를 이용한 데이터의 Column 결합
SQL JOIN
- 두 개 이상의 테이블을 결합하여 Column을 확장한다.
- 종류
- INNER JOIN
- LEFT (OUTER) JOIN
- RIGHT (OUTER) JOIN
- FULL OUTER JOIN
- CROSS JOIN
- SELF JOIN
INNER JOIN
- 두 개의 테이블에 모두 존재하는 데이터만 결합하여 조회한다.
- ON 명령어 뒤에 정의한 Column 정보를 기준으로 존재 여부를 체크한다.
SELECT column_name(s)
FROM table1
INNER JOIN table2 ON table1.column_name = table2.column_name;
2. OUTER JOIN 명령어를 이용한 데이터의 Column 결합
LEFT (OUTER) JOIN
- 왼쪽에 위치한 테이블을 기준으로 오른쪽의 테이블의 데이터를 붙인다.
- 왼쪽 테이블의 데이터는 모두 조회된다.
- 왼쪽 테이블에는 있지만 오른쪽 테이블에 없는 데이터는 NULL
SELECT column_name(s)
FROM table1
LEFT JOIN table2 ON table1.column_name = table2.column_name;
FROM 사용자 LEFT JOIN 구매정보 ON 사용자.사용자ID = 구매정보.사용자ID
RIGHT (OUTER) JOIN
- LEFT JOIN과 동일하고 기준이 되는 테이블의 방향만 반대이다.
SELECT column_name(s)
FROM table1
RIGHTJOIN table2 ON table1.column_name = table2.column_name;
FROM 사용자 RIGHT JOIN 구매정보 ON 사용자.사용자ID = 구매정보.사용자ID
'코드프레소' 카테고리의 다른 글
Spring Boot를 활용한 웹 개발 초급 (0) | 2022.03.14 |
---|---|
클라우드 컴퓨팅 첫 걸음 (0) | 2022.03.14 |
처음 시작하는 SQL 프로그래밍 (0) | 2022.02.22 |
Spring Boot 웹 개발 입문 (0) | 2022.02.15 |
SW 유지보수성 향상을 위한 Clean Code (0) | 2022.02.15 |
Comments