티스토리 뷰

데이터

SQL 기본 함수 설명2

잔잔한 물결처럼 2025. 3. 4. 02:36

WHERE 절

INSERT 를 제외만 DML 구문에서 원하는 데이터만 골라서 원하는 명령어를 실행할수 있도록 지정할 수 있는 구문이다.

 

WHERE 절 비교 연산자

연산자 의미 예시
= 같음 where num = 10
< 작음 \where num < 10
<= 작거나 같음 where num <= 10
> where num > 10
>= 크거나 같음 where num >= 10

 

WHERE 절에 쓰이는 부정 연산자

연산자 의미 예시
!= 같지 않음 where num != 10
^= 같지 않음 where num ^= 10
<> 같지 않음 where num <> 10
not 컬럼명 = 같지 않음 where not num = 10
not 컬럼명 > 크지 않음 where not num > 10
not 컬럼명 < 작지 않음 where not num < 10

 

WHERE 절에 쓰이는 연산자

연산자 의미 예시
BETWEEN A AND B A와 B의 사이(A, B 포함) where num between 1 and 10
LIKE '비교 문자열' 비교문자를 포함 아래 설명
IN (LIST) LIST 중 하나와 일치 WHERE NAME IN ('준호', '민재', '수정')
IS NULL NULL 값인지 WHERE NAME IS NULL

 

     
LIKE '비교문자열' 해당하는 문자가 있을때 WHERE NAME LIKE '블랙핑크'
LIKE '%비교문자열' 뒤에 해당하는 문자가 있을때 WHERE NAME LIKE '%핑크'
LIKE '비교문자열%' 앞에 원하는 문자가 있을때 WHERE NAME LIKE '블랙%'
LIKE '%비교문자열%' 가운데 원하는 문자가 있을때 WHERE NAME LIKE '%랙핑%'
LIKE '_비교문자열' 2번쨰 부터 원하는 문자가 있을때 WHERE NAME LIKE '_랙핑크'
LIKE '__비교문자열'; 3번째부터 원하는 문자가 있을때 WHERE NAME LIKE '__핑크'
LIKE '비교문자열__' 마지막에서2번쨰부터 원하는 문자가 있을때 WHERE NAME LIKE '블랙핑_'
LIKE '비교_문자열' 가운데하나를띄우고 원하는 문자가 있을때 WHERE NAME LIKE '블랙_크'
LIKE '%#%%' escape '#' 이스케이프시 %나 _는 그냥 문자열로 취급 WHERE NAME LIKE '%#%#_%'
ESCAPE '#'

 

부정  SQL

연산자 의미 예시
NOT BETWEEN A AND B A와 B의 사이가 아님(A, B 미포함) where num not between 1 and 10
NOT IN (LIST) LIST 중 일치하는 것이 없음 where name not in ('민재', '지훈', '수정')
IS NOT NULL NULL 값이 아님 where name is not null

 

논리 연산자

연산자 의미 예시
AND 모든 조건이 TRUE 여야함 WHERE NUM > 1 AND NUM < 10
OR 하나이상이 TRUE WHERE NUM = 1 OR NUM != 1
NOT TRUE FALSE 반전 WHERE NOT NUM > 5
논리연산자 우선순위 () -> NOT -> AND -> OR  

 

GROUP BY, HAVING 절

GROUP BY 는 데이터를 그룹으로 묶을때 사용하는 구문이다. GROUP BY 뒤에는 그룹핑의 기준이 되는 컬럼이 오게 된다.

 

집계함수

집계 함수 설명
COUNT(*) 전체 ROW 의 개수반환
COUNT(컬럼) 컬럼 값이 NULL 인 ROW 를 제외하고 COUNT 해서 반환
COUNT(DISTINCT 컬럼) 컬럼값이 NULL 이 아닌 ROW 에서 중복을 제거한 수 개수 반환
SUM(컬럼) 컬럼값들의 합계 반환
AVG(컬럼) 컬럼값들의 편균 반환
MIN(컬럼) 컬럼값중 최소값 반환
MAX(컬럼) 컬럼값중 최대값 반환

 

HAVING 

GROUP BY 절을 사용할 대 사용하는 조건절이다. 

 

!중요 SELECT 문의 실행 순서

SELECT 문의 논리적 실행 순서
SELECT 5
FROM 1
WHERE 2
GROUP BY 3
HAVING 4
ORDER BY 6

 

FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY

 

HAVING 절은 GROUP BY 이후에 실행되기 때문에 그룹핑 후게 사용한 집계 함수로 조건을 부여할 수 있다.

 

ORDER BY

ORDER BY 구문 디폴트값은 ASC
ASC 오름차순
DESC 내림차순

 

JOIN문

EQUI JOIN 은 equal (=) 조건으로 join 하는 것으로 가장 흔히 볼수 있는 조인이다.

NON EQUI JOIN 은 Equal(=) 조건이 아닌 다른 조건(BETWEEN, >, >=, <, <=) 으로 JOIN 하는 방식\

 

OUTER JOIN

JOIN 에 만족하지 않는 조건도 출력하는 조인 Oracle 에서는 모든 행이 출력되는 테이블의 반대편 테이블의 옆에(+) 기호를 붙여주면 OUTER JOIN 을 할 수 있다.

OUTER JOIN 종류  
LEFT OUTER JOIN 왼쪽값이 모두 반영
RIGHT OUTER JOIN 오른쪽같이 모두 반영
FULL OUTER JOIN 양쪽값이 모두 반영

 

 

INNER JOIN

JOIN 의 조건에 맞는 데이터만 조인

 

NATURAL JOIN

A 테이블과 B 테이블에서 같은 이름을 가진 칼럼들이 모두 동일한 테이터를 가지고 있을 경우 JOIN 이 되는 방식이다. SQL Server(MSSQL) 에서는 지원하지 않는다.

 

CROSS JOIN

CARTESIAN PRODUCT 라고도 한다

가능한 모든 경우의 수를 만든다.

 

'데이터' 카테고리의 다른 글

SQL 심화 1 (서브쿼리, 뷰, 집합연산자)  (0) 2025.03.06
SQL 기본 함수 설명 주의사항  (0) 2025.03.04
SQL 기본 함수 설명1  (0) 2025.03.03
트랜잭션과 NULL  (0) 2025.03.03
정규화  (0) 2025.03.03
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함