[분석 기초] SQL 기본 문법 총정리. select, where절 구문 팁!
안녕하세요.
지난 포스팅에서 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쿼리는 굉장히 직관적이라, 몇번 따라해보면 크게 어렵게 생각하실 필요가 없어요.
이제 남은 몇가지 중요한 파트들도 열심히 진행해볼게요
실무에서 데이터분석하기! 빠르게 진행해볼게요~
데이터 분석 실무 초고속 정복하기!
더 좋은 꿀팁들을 알고 계시면 공유해주세요!^^