IT.Trend
SQLD 요점정리 - 2-1. SQL 기본
승리혜
2025. 2. 28. 16:10
[관계형 데이터베이스 개요]
데이터 베이스는 데이터를 담는 그릇, 데이터를 2차원의 테이블 형태로 표현
[SELECT문]
1. SELECT
- 저장되어 있는 데이터를 조회하고자 할 때 사용하는 명령어
- SELECT (Column명)
FROM (테이블명) Alias (별칭)
where (LOW명)
* Alias (알리아스, 별칭)
- 테이블이나 컬럼에 별도의 이름을 붙여주기 위해 사용
- 가독성을 높이기 위해서
- 주로 복잡한 SQL이나 두 개 이상의 테이블을 한꺼번에 조회하는 경우 많이 씀
- 알리아스를 만들어 놓고 안쓰면 에러
* 산술연산자 (우선 순위)
() -1
• -2
/ -2
+ -3
- -3
% (나머지) -3
* 함수 부분에 사용 예 Select Column1+Column2
1. GROUP BY
- 역할: 동일한 값들끼리 그룹화
- 형식:
-
sqlSELECT 컬럼, 집계함수 FROM 테이블 GROUP BY 컬럼;
- 자주 사용하는 집계 함수:
- COUNT(): 개수
- SUM(): 합계
- AVG(): 평균
- MAX(), MIN(): 최대값, 최소값
- 예시:
-
sqlSELECT 부서, AVG(연봉) FROM 직원 GROUP BY 부서;
2. HAVING
- 역할: GROUP BY의 결과에 조건을 거는 절
- 형식:
sqlSELECT 컬럼, 집계함수 FROM 테이블 GROUP BY 컬럼 HAVING 집계함수 조건;
- 예시:
sqlSELECT 부서, AVG(연봉) FROM 직원 GROUP BY 부서 HAVING AVG(연봉) > 5000;
3. ORDER BY
- 역할: 결과를 정렬
- 형식:
-
sqlSELECT 컬럼 FROM 테이블 ORDER BY 컬럼 [ASC | DESC];
- ASC: 오름차순(기본값)
- DESC: 내림차순
- 예시:
-
sqlSELECT 이름, 연봉 FROM 직원 ORDER BY 연봉 DESC;
연습용 문제 예시
sql
-- 부서별 직원 수를 내림차순으로 표시하되, 직원 수가 5명 이상인 부서만
SELECT 부서, COUNT(*) AS 직원수
FROM 직원 GROUP BY 부서
HAVING COUNT(*) >= 5
ORDER BY COUNT(*) DESC;
Tip
- WHERE는 그룹화 전, HAVING은 그룹화 후 조건!
- ORDER BY는 마지막 단계(결과 출력 시)
기출문제 풀이 포인트
- GROUP BY는 그룹화 후 집계 함수와 함께 사용
- JOIN은 테이블 간 관계를 명확히 이해하고 활용
- WHERE, HAVING, BETWEEN AND는 조건 필터링
- COUNT, DISTINCT, IN 등 집계 함수는 데이터 요약
- 정렬은 ORDER BY로, 문자 패턴 검색은 LIKE로
반응형