2025-08-18 00:13
Tags: SQL
SELECT
- 데이터 조회하는 가장 기본적인 SQL 명령어
- FWGHSO: FW 가(G) 했(H)쏘(S)오(O)
SELECT * | 컬럼명 | 표현식
FROM 테이블명 또는 뷰명
WHERE 조회 조건
GROUP BY 그룹핑컬럼명
HAVING 그룹핑 필터링 조건
ORDER BY 정렬컬럼명
- FROM: 어떤 테이블 가져와야 하는지 파악, 데이터를 가져올 테이블 지정 또는 뷰명 전달
- WHERE: 조건에 맞는 데이터만 필터링,선택적 절, 조건을 지정해 조회할 데이터를 필터링
- GROUP BY: 필터링 된 데이터를 그룹화
- HAVING: 그룹화된 결과에서 다시 필터링 진행
- 여기까지 와서야 SELECT 로 필요한 컬럼 추리고,조회할 열 지정
- 마지막에 시간 복잡도 높은 ORDER BY 로 정렬
SELECT 문 산술연산자
원본 테이블
ProductID | ProductName | Price | Quantity |
---|
1 | Apple | 100 | 10 |
2 | Banana | 50 | 20 |
3 | Cherry | 200 | 15 |
4 | Date | 150 | 25 |
더하기(+)
SELECT ProductName, Price, Quantity, (Price + Quantity) AS PricePlusQuantity
FROM Products;
결과 테이블
ProductName | Price | Quantity | PricePlusQuantity |
---|
Apple | 100 | 10 | 110 |
Banana | 50 | 20 | 70 |
Cherry | 200 | 15 | 215 |
Date | 150 | 25 | 175 |
빼기(-)
SELECT ProductName, Price, Quantity, (Price - Quantity) AS PriceMinusQuantity
FROM Products;
결과 테이블
ProductName | Price | Quantity | PriceMinusQuantity |
---|
Apple | 100 | 10 | 90 |
Banana | 50 | 20 | 30 |
Cherry | 200 | 15 | 185 |
Date | 150 | 25 | 125 |
AS 별칭
- 컬럼이나 테이블에 임시로 이름 부여
- SELECT 보다 늦게 사용되는 ORDER BY 절에서만 사용 가능, HAVING과 WHERE 에선 에러
- 오라클에선 테이블 별칭 명시할 때 AS 사용 못함
SELECT (ALL/DISTINCT)
- ALL: 기본값, 중복 있어도 모두 출력
- DISTINCT: 중복된 데이터 있는 경우 하나만
FROM 절
- 데이터 불러올 테이블이나 뷰명 전달
- 별칭 사용 시 해당 테이블 참조할 때 반드시 별칭 사용
- 오라클에서는 FROM 절 생략 불가
- 의미상 테이블 필요 없으면 DUAL 테이블 선언
주의 사항
- 문자 상수, 날짜 상수 → 홑따옴표
- 오라클은 문자상수 대소문자 구분O
- MYSQL은 문자상수 대소문자 구분X
- MYSQL은 비교 검색 수행 시 기본적으로 대소문자 구분 없이 가능
언급한 노트 (Outgoing Links)
백링크 (Backlinks)