IT_SQL

[분석 기초] SQL 기본 문법 총정리. select, where절 구문 팁!

soyounism 2021. 10. 25. 19:01

안녕하세요.

지난 포스팅에서 SQL의 정렬,

ORDER BY 정렬의 사용과 내림차순, 오름차순까지 진행되었습니다

SQL에서 데이터를 보기 쉽게 정렬할 수 있는 아주 유용한 쿼리입니다.

실무를 할 때 데이터를 탐색하여 데이터 인사이트의

기초가 될 수 있는 유용한 쿼리라고 볼 수 있어요.

 

오늘은 지금까지의 SQL구문 총정리와

각 구분의 상세팁을 준비했습니다.

실무 데이터 분석을 하신다면 꼼꼼히 봐주세요

 

 

 

기본문법 총정리

 

11. 기본문법 총정리

 

지금까지 배운 기본문법을 순서대로 총정리 해보겠습니다

 

SELECT [컬럼명], ...

FROM [테이블명]  

WHERE [조건절]

GROUP BY [컬럼명 OR 컬럼순서]

HAVING [집계함수 조건절]

ORDER BY [컬럼명 OR 컬럼순서]

LIMIT [N]

 

 

* 참고로, SQL이 실행되는 순서는 어떻게 될까요?

실제 쿼리문의 순서는 위와 같지만,

내부적으로 SQL이 실행되는 순서는 아래와 순서와 같습니다

(그냥 상식적으로 생각하시면 이해가 쉽습니다-딱히 외워야 할 필요는 없습니다)

 

5. SELECT [컬럼명], ...

1. FROM [테이블명]  

2. WHERE [조건절]

3. GROUP BY [컬럼명 OR 컬럼순서]

4. HAVING [집계함수 조건절]

6. ORDER BY [컬럼명 OR 컬럼순서]

LIMIT [N]

 

* ORDER BY 절에 올 수 있는 컬럼은 반드시 SELECT절에 있어야하는 이유가 바로,

SELECT 수행 후 다음에 ORDER BY가 실행되기 때문입니다

 

- LIMIT의 경우는 많은 데이터를 수행할 때 속도가 느릴 경우 주로 사용됩니다.

지금 사용하는 데이터는 작은 데이터라 굳이 LIMIT을 사용하지 않았습니다. LIMIT 다음에는 숫자를 입력해주시면 됩니다. 입력한 숫자만큼 행수가 출력됩니다. 그러면 더 빠르게 실행할 수 있겠죠

 

 

12. SELECT절 팁!

- 컬럼명을 'AS ~~'로 새로 명명하는 경우, 띄어쓰기, 숫자로 시작, 특수문자가 포함된 단어는 올 수 X

- "~"로 감싸준 경우에는 위의 모든값이 다 가능합니다 <-추천하지 않아요.. 많이 쓰지 않습니다

 

13.WHERE절 팁!

의미 긍정 부정
일치/불일치 = !=, <>
대소(+주로 숫자) >, >=, <, <=  
범위(+주로 숫자) between ~ and ~ not between ~ and ~
다수의 값 일치/불일치 in (~, ~, ~)

ex> 카테고리 '치킨전문점'만
where category = '치킨전문점'
ex> 카테고리 '치킨전문점', '안경점'
where category in ('치킨전문점', '안경점)
not in (~, ~)
특정문자열 포함/불포함 like '%~%'

ex> '치킨'이 포함된 카테고리
where category like '%치킨%'
ex> '치킨'으로 시작되는 카테고리
where category like '치킨%'
not like '%~%'
특정문자열 포함/불포함.
영어 대소문자 구분x
ilike '%~%' not ilike '%~%'
null값 포함/제외 is null is not null

 

- where절에 and와 or을 함께 쓸 때! : ()로 의미 단위끼리 묶어야 한다!

- ex> 매출액이 100만원 이상이거나, 영업이익이 20만원 이상인 것 중에 치킨전문점만 보고싶어!

->  (매출액 >= 100만원 or 영업이익 >=20만원) and 카테고리 ="치킨전문점'

*  의미 단위 구분이 잘못된다면? 매출액 >=100만원 or (영업이익 >=20만원 and 카테고리 ='치킨전문점")

- 매출액이 100만원 이상인 것 중에 영업이익이 20만원 이상이거나, 카테고리가 치킨전문점인 것들이 출력!. 완전히 다르죠!!

 


이제 SQL 실무에서 사용하기는 이제 거의 마무리 입니다

 

여기까지 차근차근 따라 오셨다면, 이전에 포스팅 했듯이

이제 배우지 않은 쿼리들도 대략 이해하실 수 있을 겁니다 

SQL쿼리는 굉장히 직관적이라, 몇번 따라해보면 크게 어렵게 생각하실 필요가 없어요.

 

이제 남은 몇가지 중요한 파트들도 열심히 진행해볼게요

실무에서 데이터분석하기! 빠르게 진행해볼게요~

 

데이터 분석 실무 초고속 정복하기!

더 좋은 꿀팁들을 알고 계시면 공유해주세요!^^