꿀팁 대방출이라고는 하였지만, 코딩테스트(SQL)를 앞두고 허겁지겁 문제 풀면서 조심해야 할 것들 정리해보겠습니다.
YEAR, MONTH, DAY, HOUR, MINUTE, SECOND -> SELECT YEAR('2017-01-02 12:30:45') = 2017
DATE_FORMAT((원문), '%Y-%m-%d') , DATE_FORMAT((원문), '%H-%i-%s')
GROUP BY 절에서 조건을 주려면 HAVING절을 사용해야 함 (WHERE절 보다 GROUP BY 절이 뒤에 있으므로)
자식의 수를 출력하기 LEFT JOIN을 통해 ID에 해당하는 값들이 여러 줄 생기게 한 후 GROUP BY + SUM 을 통해 수를 세준다.
조건에 따라서 값을 정해줄 때 CASE 문을 통해서 작성!
코딩테스트에 사용한 것 처럼 2번 형질X, 1,3번 형질O 인 데이터 찾기
',' 를 통해서 문자열 붙이기 가능!
날짜 차이를 얻고 싶을 때, DATEDIFF, '-', TIMESTAMPDIFF 를 다 사용가능하지만 가장 편한건 TIMESTAMPDIFF 와 타입을 명시해서 사용한다
ROUND로 반올림, AVG를 위해 GROUP BY, HAVING
'%~~' 같은 것을 쓰려면 '=' 아니라 LIKE 인 것 조심!
SECOND를 이용해서 정밀하게 비교 가능하고 상위 2개를 조회
JOIN 할 테이블을 서브쿼리로 생성 후 JOIN을 통해 해결
여기에 있는데 저기에는 없는 동물 찾기
컬럼 앞에 추가해서 이 쿼리를 DISCTINCT로 만든다.