일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- DFS
- 그래프 이론
- 우선순위큐
- 해시
- 그리디
- DP
- 플로이드-워셜
- 그래프 탐색
- join
- 재귀
- 크루스칼
- 다시
- 에라토스테네스의 체
- 브루트포스
- 투포인터
- 구현
- BFS
- 다익스트라
- 자료구조
- GROUP BY
- 다이나믹프로그래밍
- 트리
- MST
- 수학
- 시뮬레이션
- 백트래킹
- 다이나믹 프로그래밍
- 서브쿼리
- 분할정복
- 누적합
- Today
- Total
기록하고 까먹지 말기
SQL 코딩테스트 이전 읽어볼 것 본문
1. SELECT * 우선 작성 후 조건 다 만든 후 수정(디버깅 목적)
2. JOIN문이 있는 경우 JOIN을 사용해야 하는지, 서브쿼리로 해결이 가능한지 판단
3. 서브쿼리로 가능한 경우 WHERE PK IN (SELECT PK ...)으로 해결
4. JOIN을 했을 때에는 속성이 모호해지지 않게 명명 확실히
5. 조건에 맞게 출력값을 다르게 해야 하는 경우 CASE WHEN 사용
ex) AGE 속성에서 25살, 30살을 '젊은이'라고 출력, 나머지는 '응애'라고 출력, 속성 이름은 '분류'로 출력
-> SELECT CASE WHEN AGE = 25 THEN '젊은이'
WHEN AGE = 35 THEN '젊은이'
ELSE '응애' END AS '분류'
* CASE 사용시 괄호 사용하지 않도록 주의(문법 오류 발생)
6. 두 케이스를 교집합 형태로 묶을 경우 UNION 사용, 중복을 허용한다면 UNION ALL 사용
- 참고 : https://sesok808.tistory.com/510
7. 날짜를 출력하는 경우 날짜의 양식 주의할 것(가장 많이 틀렸던 형식이니까 주의)
- 참고 : https://devjhs.tistory.com/89
8. SELECT 절에서 연산 가능
ex) A 속성값 + B 속성값을 출력하는 경우 SELECT A + B AS CUSTOM, ... 으로 해결 가능
9. GROUP BY 사용 시 어떤 카테고리를 기준으로 묶을 지 잘 생각할 것
10. 최대값을 출력하는 경우에는 ORDER BY와 LIMIT 잘 사용할 것(가장 마지막 줄에 순서대로 사용)
11. ORDER BY 사용 시 정렬 조건 명심할 것