SQL 기초
SELECT 구문
SELECT 구문과 FROM 구
SELECT [테이블 필드] FROM [테이블 이름]
WHERE 구
- WHERE 구에서 사용할 수 있는 대표적인 연산자
- =: ~와 같음
- ≠: ~와 같지 않음
- ≥: ~ 이상
: ~보다 큼
- ≤: ~ 이하
- <: ~보다 작음
- AND, OR, IN 사용 가능
- NULL을 다룰 때는 IS NULL / IS NOT NULL
GROUP BY 구
- 집계 함수
- COUNT: 레코드 수를 계산
- SUM: 숫자를 더함
- AVG: 숫자의 평균을 구함
- MAX: 최댓값을 구함
- MIN: 최솟값을 구함
- 테이블 전체를 대상으로 할 경우 GROUP BY 구를 생략하거나 GROUP BY () 형태로 사용
HAVING 구
- GROUP BY 구로 선택한 집합에 조건을 걸 때 사용
ORDER BY 구
- SELECT 구문의 결과 순서를 명시적으로 지정
- 생략 시 ASC(Ascending Order, 올림차순), DESC(Descending Order, 내림차순) 사용 가능
뷰와 서브쿼리
- 뷰 (View)
CREATE VIEW [뷰 이름] ([필드 이름1], [필드 이름 2] ... ) AS SELECT문
- SELECT 구문을 데이터베이스 안에 저장하지만 내부에 데이터를 보유하지는 않음
- 서브쿼리 (Subquery)
- CASE 식
CASE WHEN [평가식] THEN [식] ELSE [식] END
- UNION: 합집합
- INTERSECT: 교집합
- EXCEPT: 차집합, 교환 법칙이 성립하지 않음
- 중복된 레코드를 제외하고 싶지 않을 경우 뒤에 ALL을 붙임
윈도우 함수
- 집약 함수 뒤에 OVER 구를 작성하고 내부에
PARTITION BY
또는ORDER BY
입력SELECT name, age, RANK() OVER(ORDER BY age DESC) AS rnk FROM Address;
트랜잭션과 갱신
- INSERT로 데이터 삽입:
INSERT INTO [테이블 이름] ([필드1], [필드2], [필드3]) VALUES ([값1], [값2], [값3])
- DELETE로 데이터 삭제:
DELETE FROM [테이블 이름]
- UPDATE로 데이터 갱신:
UPDATE [테이블 이름] SET [필드 이름] = [식]