📈 MySQL 기초 문법 총정리
1번~20번 SQL 실습을 통해 여러 기초 SQL 문법을 총정리한 문서입니다.
🔹 1. SELECT 문
SELECT는 테이블에서 원하는 컬럼 데이터를 조회할 때 사용합니다.
SELECT column1, column2 FROM table_name;
SELECT * FROM tb_point; -- 전체 조회
🔹 2. AS (별칭)
AS는 컬럼명 또는 테이블명에 별칭(alias)을 지정하여 보기 좋게 표현할 수 있습니다.
SELECT CUSTOMER_CD AS '고객코드' FROM tb_point;
🔹 3. WHERE (조건 조회)
WHERE는 특정 조건에 부합하는 행(row)만 필터링할 때 사용합니다.
| 연산자 | 설명 |
|---|---|
| = | 같음 |
| <, <=, >, >= | 비교 |
| != 또는 <> | 같지 않음 |
| AND / OR | 여러 조건 결합 |
SELECT * FROM tb_customer WHERE TOTAL_POINT < 10000;
🔹 4. BETWEEN (범위 조건)
BETWEEN은 특정 범위 사이의 값을 조건으로 지정할 때 사용합니다. 양 끝값 포함.
SELECT * FROM tb_point
WHERE POINT BETWEEN 10000 AND 50000;
🔹 5. IN (다중 조건)
IN은 여러 개의 값 중 하나와 일치하는 경우를 조건으로 지정합니다.
SELECT * FROM tb_item_info
WHERE ITEM_CD IN ('S01', 'S04');
🔹 6. LIKE (패턴 검색)
문자열에서 특정 패턴을 검색할 때 사용합니다.
%: 0개 이상의 임의의 문자_: 임의의 한 글자
WHERE CUSTOMER_CD LIKE '2017%'
🔹 7. ORDER BY (정렬)
결과를 오름차순(ASC, 기본값) 또는 내림차순(DESC)으로 정렬합니다.
SELECT * FROM tb_point ORDER BY POINT DESC;
🔹 8. DISTINCT (중복 제거)
중복을 제거하고 유일한 값만 조회할 때 사용합니다.
SELECT DISTINCT PRODUCT_NM FROM tb_sales;
🔹 9. GROUP BY + 집계 함수
GROUP BY는 같은 값을 가지는 행들을 하나의 그룹으로 묶고, 집계 함수를 사용할 수 있게 해줍니다.
| 함수 | 설명 |
|---|---|
| SUM() | 합계 |
| AVG() | 평균 |
| COUNT() | 개수 |
| MAX() / MIN() | 최댓값 / 최솟값 |
SELECT SALES_DT, PRODUCT_NM, SUM(SALES_COUNT) AS '총판매수'
FROM tb_sales
WHERE SALES_DT IN ('20190802','20190803')
GROUP BY SALES_DT, PRODUCT_NM
ORDER BY SALES_DT, PRODUCT_NM;
🔹 10. JOIN (조인)
두 개 이상의 테이블을 연결하여 데이터를 조회할 때 사용합니다.
SELECT ...
FROM A
JOIN B ON A.key = B.key;
🔹 11. CASE (조건 분기)
조건에 따라 값을 다르게 표현할 수 있는 if-else 문입니다.
CASE
WHEN 조건 THEN 결과
ELSE 기본값
END
🔹 12. ROW_NUMBER() OVER()
결과 집합에 순번을 부여할 수 있는 윈도우 함수입니다.
SELECT ROW_NUMBER() OVER(ORDER BY 기준컬럼) AS 번호
🔹 13. IS NULL / IS NOT NULL
값이 비어 있는지 확인합니다.
WHERE EMAIL IS NOT NULL
🔹 14. 날짜 관련 함수
문자열을 날짜로 변환하거나, 날짜에서 년, 월, 일을 추출합니다.
| 함수 | 설명 |
|---|---|
| YEAR(date) | 년 추출 |
| MONTH(date) | 월 추출 |
| DAY(date) | 일 추출 |
| STR_TO_DATE(str, '%Y%m%d') | 문자열 → 날짜 |
SELECT STR_TO_DATE(BIRTH_DAY, '%Y%m%d') AS 생일,
YEAR(STR_TO_DATE(BIRTH_DAY, '%Y%m%d')) AS 출생년도
FROM tb_customer;
📝 마무리 요약
- 조회: SELECT, WHERE, AS, DISTINCT
- 조건: AND, OR, BETWEEN, IN, LIKE, IS NULL
- 정렬과 그룹화: ORDER BY, GROUP BY, HAVING
- 조인과 윈도우: JOIN, CASE, ROW_NUMBER
- 날짜: STR_TO_DATE, YEAR, MONTH, DATE 관련 함수
이 문서는 SQL을 공부하면서 실제 문제를 통해 익힌 문법들을 정리한 내용입니다. 실무나 시험 직전 총정리에 활용해 보세요!
반응형
