SQL 기초 문법 정리 (1)

김지수·2025년 7월 6일

고객 테이블 데이터 전체 조회

SELECT *
FROM customers

고객번호, 이름, 가입일자 조회

SELECT customerId, customerName, signupDate
FROM customers

탈퇴하지 않고 2023년 이후 가입한 고객 정보 조회

SELECT customerId, customerName, status
FROM customers
WHERE status != 'Withdrawn';
AND signupDate >= '2023-01-01';

가격 30,000원 이하이거나 등록일이 2023년 3월 1일 이후인 상품 조회

SELECT productId, productName, registrationDate, price
FROM products
WHERE price <= 30000
OR registrationDate >= '2023-03-01'

상태(status)가 판매중(On Sale), 품절(Out of Stock)인 상품 조회 (IN 사용)

SELECT productId, productName, status
FROM products
WHERE status IN ('On Sale', 'Out of Stock')

상태(status)가 판매중, 품절이 아닌 상품 조회 (IN 사용)

SELECT productId, productName, status
FROM products
WHERE status NOT IN ('On Sale', 'Out of Stock');

입사일자(hireDate)가 NULL이고 상태(status)가 재직중(Active)인 직원 조회

SELECT employeeId, employeeName, status, department
FROM employees
WHERE hireDate IS NULL
AND status = 'Active'

입사일자가 2022년 4월 1일 ~ 4월 20일인 직원의 급여(salary)를 2로 나눈 값 확인

SELECT employeeId, salary, salary / 2 AS halfSalary
FROM employees
WHERE hireDate BETWEEN '2022-04-01' AND '2022-04-20';

코멘트(comments)가 'Special'로 시작하는 상품, 코멘트에 'limited' 단어를 포함하는 상품 조회

SELECT productId, comments
FROM products
WHERE comments LIKE 'Special%'
AND comments LIKE '%limited%'

가격을 오름차순 정렬하고 별칭 부여

SELECT productId AS 상품번호, price AS 가격
FROM products
ORDER BY price ASC

상품 상태의 중복 제거

SELECT DISTINCT status AS 상태
FROM products

60만원 기준으로 가격에 대한 조건문 (IIF 함수 사용)

SELECT productId, price, IIF(price >= 600000, 'High', 'Low') AS "60만원 기준"
FROM products

주문일자를 기준으로 연도를 분리하여 표시

SELECT
	saleId,
    saleDate,
    CASE WHEN YEAR(saleDate) = 2022 THEN '2022년'
    	 WHEN YEAR(saleDate) = 2022 THEN '2023년'
         ELSE '기타'
    END AS 판매연도
FROM sales

국가별 판매건수 집계

SELECT c.country, COUNT(s.saleId) AS 판매건수
FROM sales s
JOIN clients c
ON s.clientId = c.clientId
GROUP BY c.country
profile
오늘 배운 것을 기록하며, 나만의 지식으로 만들어가는 성장 일지 💪🍀

0개의 댓글