2025/03/17 TIL

김학열·2025년 3월 17일

SQL 조건분기, 윈도우 함수, 갱신, 검색조건 지정하기

  • SELECT 구문 : 데이터베이스에서 데이터를 검색하는 SQL 구문으로, 원하는 컬럼을 선택하여 조회할 수 있음
    • SELECT [열 이름] FROM [테이블 이름] WHERE [조건] 형식으로 사용됨
  • FROM 구 : 데이터를 가져올 테이블을 지정하는 구문
    • FROM health
  • WHERE 구 : 특정 조건을 만족하는 데이터만 필터링하는 구문
    • WHERE age = 50 → 나이가 50인 데이터만 조회
  • 비교 연산자 : 데이터를 비교하여 조건을 설정할 때 사용됨
    • = (같음), != 또는 <> (같지 않음), >, <, >=, <= 등의 연산자가 있음
  • AND / OR 연산자 : 여러 조건을 결합하는 논리 연산자
    • AND : 모든 조건을 만족하는 경우 선택 (교집합)
    • OR : 하나 이상의 조건을 만족하는 경우 선택 (합집합)
    • WHERE age = 50 AND check_yn = TRUE
  • IN 연산자 : 여러 개의 값을 비교할 때 OR 조건을 간단하게 표현
    • WHERE name IN ('이영희', '박민준', '최서윤')
  • GROUP BY 구 : 데이터를 그룹화하여 집계 함수(COUNT, SUM, AVG 등)를 적용하는 데 사용됨
    • SELECT check_yn, COUNT(*) FROM health GROUP BY check_yn;
  • HAVING 구 : GROUP BY 결과에 추가 조건을 적용하는 구문
    • HAVING COUNT(*) = 2
  • ORDER BY 구 : 결과를 정렬하는 구문
    • ORDER BY age DESC → 나이 기준 내림차순 정렬
    • ORDER BY age ASC → 나이 기준 오름차순 정렬
  • VIEW(뷰) : 복잡한 SELECT 구문을 저장하고 재사용할 수 있는 기능
    • CREATE VIEW NewView AS SELECT age, COUNT(*) FROM health GROUP BY age;
  • SubQuery(서브쿼리) : 하나의 SQL 문 안에서 또 다른 SELECT 문을 실행하는 기능
    • SELECT gb_age, cnt FROM (SELECT age, COUNT(*) FROM health GROUP BY age) AS NewView;
  • CASE 문 : SQL에서 조건 분기를 처리하는 방법
    • CASE WHEN age = 20 THEN '20대' WHEN age = 30 THEN '30대' ELSE '기타' END
  • 윈도우 함수 : 개별 행에 대해 누적 값, 순위 등을 계산하는 함수.
    • COUNT(*) OVER (PARTITION BY age) → 나이별 개수 계산
    • RANK() OVER (ORDER BY age DESC) → 나이를 기준으로 순위 매기기
  • INSERT : 새로운 데이터를 테이블에 삽입하는 SQL 구문
    • INSERT INTO health (name, age) VALUES ('김연준', 30);
  • DELETE : 특정 데이터를 삭제하는 SQL 구문
    • DELETE FROM health WHERE name = '김연준';
  • UPDATE : 기존 데이터를 수정하는 SQL 구문
    • UPDATE health SET age = 20 WHERE name = '서지우';
  • NULL 값 검색 : 특정 필드에 값이 없는 경우를 검색하는 방법
    • IS NULL : 값이 NULL인 경우
    • IS NOT NULL : 값이 NULL이 아닌 경우
    • SELECT * FROM travel_reviews WHERE visit_year IS NULL;
profile
QA/QC 1기 김학열

0개의 댓글