데이터베이스
SQL Query문 (논리 연산자, 특수 연산자, 집합 연산자, 집계 함수)
염지미
2023. 8. 24. 16:08
1. 논리 연산자
▶ AND, OR, NOT
1) AND - 앞, 뒤 조건 모두 만족
SELECT [컬럼명] FROM [테이블명] WHERE [조건1] AND [조건2]
2) OR - 하나라도 만족
SELECT [컬럼명] FROM [테이블명] WHERE [조건1] OR [조건2]
3) NOT - 뒤에 오는 조건과 반대
SELECT [컬럼명] FROM [테이블명] WHERE NOT [조건1]
2. 특수 연산자
▶ BETWEEN, IN, LIKE, IS NULL
1) BETWEEN - A와 B의 값 사이
SELECT [컬럼명] FROM [테이블명] WHERE [컬럼명] BETWEEN 2000 AND 3000;
2) IN (list) - 리스트 값이 포함된 값을 반환한다.
SELECT [컬럼명] FROM [테이블명] WHERE [컬럼명] IN (값1, 값2)
SELECT [컬럼명] FROM [테이블명] WHERE [컬럼명] NOT IN ('값1', '값2')
3) LIKE - 비교 문자열과 같은지 비교하여 값을 반환한다.
- 필드명에서 %를 쓰면 '김%'는 '김'으로 시작하는 모든 필드를 가져온다는 뜻이다.
- 언더바( _ )로 단어 길이를 지정할 수 있다.
SELECT [컬럼명] FROM [테이블명] WHERE [컬럼명] LIKE '필드명';
-- % 예시
SELECT [컬럼명] FROM [테이블명] WHERE [컬럼명] LIKE '김%';
SELECT [컬럼명] FROM [테이블명] WHERE [컬럼명] LIKE '%김';
SELECT [컬럼명] FROM [테이블명] WHERE [컬럼명] LIKE '%김%';
-- 언더바 예시
SELECT [컬럼명] FROM [테이블명] WHERE [컬럼명] LIKE '김__';
4) IS NULL, IS NOT NULL - NULL과 같거나 다른지 비교하여 값을 반환한다.
SELECT [컬럼명] FROM [테이블명] WHERE [컬럼명] IS NULL;
SELECT [컬럼명] FROM [테이블명] WHERE [컬럼명] IS NOT NULL;
3) 집합 연산자
▶ UNION, UNION ALL - 칼럼의 개수와 명칭을 맞춰줘야한다.
1) UNION - 중복하는 값을 제외하고 두 테이블을 합쳐서 반환한다.
SELECT [컬럼명], [컬럼명] FROM [테이블A]
UNION
SELECT [컬럼명], [컬럼명] FROM [테이블B];
2) UNION ALL - 두 테이블을 합쳐서 반환한다.
SELECT [컬럼명], [컬럼명] FROM [테이블A]
UNION ALL
SELECT [컬럼명], [컬럼명] FROM [테이블B];
4) 집계 함수
▶ SUM, AVG, MAX, MIN, COUNT, COUNT(DISTINCT).
1) SUM() - 컬럼의 합계를 반환한다.
SELECT SUM(컬럼명) WHERE [테이블명];
2) AVG() - 컬럼의 평균을 반환한다.
SELECT AVG(컬럼명) WHERE [테이블명];
3) MAX() - 컬럼의 최대값을 반환한다.
SELECT MAX(컬럼명) FROM [테이블명];
4) MIN() - 컬럼의 최소값을 반환한다.
SELECT MIN(컬럼명) FROM [테이블명];
5) COUNT() - 행의 개수를 반환한다.
SELECT COUNT(컬럼명) FROM [테이블명];
6) COUNT(DISTINCT) - 중복된 행을 제외하고 개수를 반환한다.
SELECT COUNT(DISTINCT 컬럼명) FROM [테이블명];