일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- sql공부
- ITSocial
- eksForGeeks
- SQL튜닝
- digitaltranformation
- SQL기초
- 알고리즘공부
- 프로그래머스
- GeeksForGeeks
- LinkedinBadge
- Black Magic Design
- #Spotify로돈벌기 #Spotify #PlaylistPush #PlaylistPushCuriator #집에서돈벌기 #집에서돈버는TV #왕초보디지털노마드 #음악플랫폼
- 실시간검색어 #구글트랜드 #다양한기능 #파보고연구하자
- Spotify가입방법
- 코딩테스트
- SQL
- 완전무료
- davinciresolve
- AjaxCall
- 자바
- 알고리즘
- 퓨어자바스크립트RestAPI
- 데이터분석대회
- datacamp
- 완전무료 영상편집기
- 다빈치리졸브
- 내손은로 영상편집하는 솔루션
- jquery없는
- 코딩연습
- Kaggle #구글 #캐글 #데이터분석플랫폼
- Today
- Total
DLife Planet
[쿼리 공부] 중급 2 동명 동물 수 찾기 (Having vs With PLSQL) 본문
Group By를 사용하는 예제 1번입니다.
[해설]
모든 프로그래머스 SQL 문제들은 테이블 명, 테이블 스키마(테이블의 구성), 쿼리 목표, 그리고 예시로 구성이 됩니다.
Having vs PLSQL
Select 산출물에서 Having을 써서 값을 찾는 방식 vs With 임시 테이블 생성
후자 쪽이 성능은 더 좋아 보입니다만... PLSQL 하... 어렵다.
with temp_table ( where 제외 요구조건)
select 테이블 count
[정답]
전 세계 99%의(제 뇌피셜이지만 거의 모두 동의하는 부분) RDBMS SQL문법은 Oracle 아니면 Mysql로 정리가 됩니다. (SQL Server혹은 임베디드 SQL의 문법이 나머지 1%라고 봅니다. 사실상 많이들 안 쓰죠... 물론 어디까지나 제 뇌피셜입니다. 제 주장을 반박하시거나 동의하시는 고인이 있으시다면 댓글로 달아주세요. 전 컴공 전공자가 아닙니다. 하지만, 김풍 형도 냉부해에서 요리 지식 자랑하잖아요 ㅋㅋ)
(Mysql/Oracle) 문법 정답
SELECT NAME, COUNT(NAME) AS COUNT FROM ANIMAL_INS GROUP BY NAME HAVING COUNT(NAME) > 1 ORDER BY NAME;
WITH TEMP_TABLE AS (SELECT NAME, COUNT(NAME) AS COUNT FROM ANIMAL_INS
WHERE NAME IS NOT NULL
GROUP BY NAME
ORDER BY NAME)
SELECT * FROM TEMP_TABLE
WHERE COUNT > 1
[SQL Insight]
임시테이블 생성이 처리 측면에서 더 빠르다. 그러나 Having이 좀 더 간단하다.
Having 없는 쿼리는 양심상 제가 짠건 아니라고 고백할게요. 근데 이해하는데 좀 걸리네요.
성능 개선을 하는 PLSQL에 익숙해지자. 어디가서 중수라고 말 못하겠네요. 어렵다.
끝
'DataScience' 카테고리의 다른 글
[쿼리 공부] 중급 심화 1 이름이 없는 동물의 아이디 (NULL 판독기) (0) | 2020.11.19 |
---|---|
[쿼리 공부] [난이도 극악] 중급 4 입양 시각 구하기 (2) (HOUR, TO_CHAR조건에 빈값 0 채우기 PLSQL Set 함수(Mysql), Connect By(Oracle)) (0) | 2020.11.19 |
[쿼리 공부] 중급 1 고양이와 개는 몇 마리 있을까? (0) | 2020.11.19 |
[쿼리 공부] 입문 4 중복 제거하기(서브쿼리 not null vs distinct vs Exist) (0) | 2020.11.19 |
[쿼리 공부] 입문 2 최솟값 구하기 (Min(), order by & Limit or Rownum ) (0) | 2020.11.19 |