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

  • 역할: 동일한 값들끼리 그룹화
  • 형식:
  • sql
     
    SELECT 컬럼, 집계함수 FROM 테이블 GROUP BY 컬럼;
  • 자주 사용하는 집계 함수:
    • COUNT(): 개수
    • SUM(): 합계
    • AVG(): 평균
    • MAX(), MIN(): 최대값, 최소값
  • 예시:
  • sql
     
    SELECT 부서, AVG(연봉) FROM 직원 GROUP BY 부서;

2. HAVING

  • 역할: GROUP BY의 결과에 조건을 거는 절
  • 형식:
    sql
     
    SELECT 컬럼, 집계함수 FROM 테이블 GROUP BY 컬럼 HAVING 집계함수 조건;
  • 예시:
    sql
     
    SELECT 부서, AVG(연봉) FROM 직원 GROUP BY 부서 HAVING AVG(연봉) > 5000;

3. ORDER BY

  • 역할: 결과를 정렬
  • 형식:
  • sql
     
    SELECT 컬럼 FROM 테이블 ORDER BY 컬럼 [ASC | DESC];
  • ASC: 오름차순(기본값)
  • DESC: 내림차순
  • 예시:
  • sql
     
    SELECT 이름, 연봉 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로
반응형