SQL 고득점 Kit 회고

송재호·2025년 2월 19일
0

회고

목록 보기
1/1

SQL 고득점 키트 회고

푼 문제 중 다시 볼만한 문제들

MySQL 방언 기준, 기본적인 것 좀 까먹지 말자

  1. 널체크는 != null이 아니고 IS NULL, IS NOT NULL
  2. DATE 타입은 YEAR(), MONTH() 등 함수를 쓸 수 있다.
  3. DATE타입 포매팅은 DATE_FORMAT(DATE, "%Y-%m-%d").
    다른 포맷은 다음을 참고 https://velog.io/@donghoim/MySQL-DATETIME-%EC%9B%90%ED%95%98%EB%8A%94-%EC%9C%A0%ED%98%95%EC%9C%BC%EB%A1%9C-%EB%B3%80%EA%B2%BD-YYMMDD
  4. ORDER BY 여러개 하는 경우는 ,로 구분
  5. INNER JOIN INNER JOIN orders B ON A.id = B.id
  6. LEFT JOIN LEFT JOIN orders B ON A.id = B.customer_id;
  7. 반올림 ROUND() 내림 FLOOR() 올림 CEILING()
  8. 소수점 자리 제한 TRUNCATE(12.3456, 2)
  9. LIKE 연산자의 와일드카드 %: 0개 이상과 일치 _: 정확히 1개와 일치. 반대는 NOT LIKE
  10. MySQL은 기본적으로 LIKE에서 대소문자 구분하지 않음. 대소문자 정확히 구분하고 싶으면 BINARY 연산자 사용 필요 WHERE name LIKE BINARY 'kim%';
  11. 대문자변환 UPPER() 소문자변환 LOWER()
  12. NVL == IFNULL(some, replacement) 또는 COALESCE(some, replacement)
  13. 그룹바이는 두 개 이상도 가능. GROUP BY A, B 이후 HAVING count(*) > 1 하면 동일한 A, 동일한 B를 그룹화시키고 카운트를 세서 동일 건이 여러 개인 것을 확인 가능
  14. 갯수제한 LIMIT 1
  15. 유니온 UNION
  16. IN WHERE 'Python' IN (SKILL_1,SKILL_2,SKILL3)
  17. 비트연산자
  18. DISTINCT
  19. DATE_FORMAT을 통한 특정 월 조회 WHERE DATE_FORMAT(ORDER_DATE, '%Y-%m') BETWEEN '2020-08' AND '2020-11'
  20. 날짜 차이(일수)는 DATEDIFF(A, B) 으로 구할 수 있다. TIMESTAMPDIFF(단위, A, B) 를 하게 되면 지정한 단위로도 구할 수 있다. 예를 들면 MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
  21. String to Date STR_TO_DATE('2022-05-01', '%Y-%m-%d')
  22. 서브스트링 SUBSTRING, SUBSTR
profile
식지 않는 감자

0개의 댓글