Database
[Database / SQL] - WHERE절 / LIKE절 / 집계함수
nam_ji
2023. 12. 13. 21:50
SQL 기본문법
WHERE절이란
- 데이터를 조회할 때 특정 조건을 기준으로 원하는 행을 출력할 때 사용합니다.
- 기본문법
-
-- 1가지의 컬럼의 데이터를 모두 조회하는 방법 SELECT 컬럼명 FROM 테이블명 -- WHERE절에 1가지 조건으로 데이터 조회하는 방법 SELECT * FROM 테이블명 WHERE 컬럼명 = 값 -- 테이블 데이터 전체에서 WHERE절 뒤에 있는 조건에 맞는 데이터를 조회하는 방법 -- WHERE절에 같은 컬럼 안에서 여러가지 값을 조회하는 방법1 SELECT * FROM 테이블명 WHERE 컬럼명 = 값1 OR 컬럼명 = 값2 .... -- 테이블 데이터 전체에서 하나의 컬럼 안에서 여러가지 값의 데이터를 조회하는 방법1 -- WHERE절에 같은 컬럼 안에서 여러가지 값을 조회하는 방법2 SELECT * FROM 테이블명 WHERE 컬럼명 IN (값1, 값2 ...) -- 테이블 데이터 전체에서 하나의 컬럼 안에서 여러가지 값의 데이터를 조회하는 방법2 -- WHERE절에 2가지 이상의 조건을 모두 만족한 데이터 조회하는 방법 SELECT * FROM 테이블명 WHERE 컬럼명1 = 값 AND 컬럼명2 = 값 .... -- 테이블 데이터 전체에서 WHERE절 뒤에 있는 조건을 모두 만족한 데이터를 조회하는 방법 -- WHERE절에 2가지 이상의 조건에 맞는 모든 데이터 조회하는 방법 SELECT * FROM 테이블명 WHERE 컬럼명1 = 값 OR 컬럼명2 = 값 .... -- 테이블 데이터 전체에서 WHERE절 뒤에 있는 조건을 모두 조회하는 방법
-
LIKE 사용법
- 데이터를 조회할 때 부분적으로 일치하는 데이터를 찾기 위해 사용합니다.
- 기본문법
-
-- LIKE 기본문법 -- 단어 = 찾고싶은단어 -- '단어%' : 단어로 시작하는 문자 찾기 SELECT * FROM 테이블명 WHERE 컬럼명 LIKE '단어%'; -- '%단어' : 단어로 끝나는 문자 찾기 SELECT * FROM 테이블명 WHERE 컬럼명 LIKE '%단어'; -- '%단어%' : 단어가 포함된 모든 문자 찾기 SELECT * FROM 테이블명 WHERE 컬럼명 LIKE '%단어%'; -- '단어__' : 단어로 시작하는 두 글자 문자를 찾기 SELECT * FROM 테이블명 WHERE 컬럼명 LIKE '단어__'; -- 첫번째 문자가 단어가 아닌 모든 문자를 찾기 SELECT * FROM 테이블명 WHERE 컬럼명 LIKE '[^단어]'; -- 첫번째 문자가 A 또는 B 또는 C인 문자열 찾기 SELECT * FROM 테이블명 WHERE 컬럼명 LIKE '[ABC]'; SELECT * FROM 테이블명 WHERE 컬럼명 LIKE '[A-C]'; -- 컬럼명에 단어1 또는 단어2가 들어 있는 모든 데이터 검색하기 SELECT * FROM 테이블명 WHERE 컬럼명 LIKE '%단어1%' OR 컬럼명 LIKE '%단어2%'; -- 컬럼명에 단어1과 단어2가 들어 있는 모든 데이터 검색하기 SELECT * FROM 테이블명 WHERE 컬럼명 LIKE '%단어1%' AND 컬럼명 LIKE '%단어2%'; -- 컬럼명에 단어1이 들어 있고 또는 단어2가 들어 있지 않은 모든 데이터 검색하기 SELECT * FROM 테이블명 WHERE 컬럼명 LIKE '%단어1%' OR NOT 컬럼명 LIKE '%단어2%'; -- 컬럼명에 단어1이 들어 있고 단어2가 들어 있지 않은 모든 데이터 검색하기 SELECT * FROM 테이블명 WHERE 컬럼명 LIKE '%단어1%' AND NOT 컬럼명 LIKE '%단어2%';
-
집계함수 사용법
- 집계함수는 여러 행으로부터 하나의 결과값을 반환하는 함수입니다. SELECT 구문에서만 사용되며, 열(Column)끼리 연산을 수행합니다.
주로 평균, 합, 최대, 최소 등을 구하는데 사용합니다. - 기본문법
-
-- 최댓값을 구하기 위한 함수로 max(컬럼명)를 사용하면 됩니다. SELECT max(컬럼명) FROM 테이블명; -- 최솟값을 구하기 위한 함수로 min(컬럼명)를 사용하면 됩니다. SELECT min(컬럼명) FROM 테이블명; -- 평균을 구하기 위한 함수로 avg(컬럼명)를 사용하면 됩니다. SELECT avg(컬럼명) FROM 테이블명; -- 합계를 구하기 위한 함수로 sum(컬럼명)를 사용하면 됩니다. SELECT sum(컬럼명) FROM 테이블명; -- 현재행의 갯수를 구하기 위한 함수로 count(컬럼명)를 사용하면 됩니다. SELECT count(컬럼명) FROM 테이블명; -- 집계함수는 한 컬럼만 구합니다. 대신 ,를 이용하여 각각 다른 집계함수를 구하는 것은 상관없습니다. SELECT max(컬럼명), min(컬럼명) FROM 테이블명; -- AS문법으로 컬럼명을 바꿔서 출력 가능합니다. -- SELECT 컬럼명 AS 작명 FROM 테이블명 기본적으로 이렇게 작성합니다. SELECT max(컬럼명) AS 사용하고 싶은 이름 FROM 테이블명; -- 일부만 평균내는 방법 > 고객등급이 vip의 사용금액 평균 내는 방법입니다. SELECT avg(컬럼명) FROM 테이블명 WHERE 컬러명 = '컬럼값'; -- 중복 제거하는 방법 DISTINCT 문법 사용 컬럼명 왼쪽에 작성합니다. SELECT DISTINCT 컬럼명 FROM 테이블명; -- 중복제거 DISTINCT 또 다른 사용법입니다. SELECT avg(DISTINCT 컬럼명) FROM 테이블명; SELECT sum(DISTINCT 컬럼명) FROM 테이블명; -- max와 min을 사용하지 않고 최대 최소 값 구하는 방법 > 오르차순 및 내림차순 사용합니다. SELECT 컬럼명 FROM 테이블명 ORDER BY 컬럼명 ASC; -- 최솟값 SELECT 컬럼명 FROM 테이블명 ORDER BY 컬럼명 DESC; -- 최댓값
-