기록하고 까먹지 말기

SQL 코딩테스트 이전 읽어볼 것 본문

전공

SQL 코딩테스트 이전 읽어볼 것

yha97 2023. 5. 30. 16:21

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 사용 시 정렬 조건 명심할 것

'전공' 카테고리의 다른 글

DP 문제모음  (0) 2023.06.09
만들어볼것  (0) 2023.05.31