[MySQL] WHERE, GROUP BY, ORDER BY 기초 문법

2023. 1. 12. 06:30

기초 문법 WHERE) IN , LIKE, BETWEEN

  • IN
    • WHERE channel_id = 3 OR channel_id = 4
  • NOT IN

 

  • LIKE
    • 대소문자 구별 없이 문자열 매칭 기능을 제공
    • WHERE channel LIKE 'G%' -> 'G*'.  -- G로 시작하는 모든 것
    • NOT LIKE
  • BETWEEN
    • 날짜 범위에 사용 가능
  • 위 오퍼리에터들은 CASE WHEN 사이에서도 사용 가능

 

 

  • STRING Functions
    • LEFT(str, N)
      • N개의 글자를 처음부터 빼오도록
    • REPLACE(str, exp1, exp2)
      • str로 부터 exp1 패턴을 찾아 exp2로 바꿈
    • UPPER(str)
      • 대문자로
    • LOWER(str)
      • 소문자로
    • LENGTH(str)
      • 길이
    • LPAD, RPAD
      • left, right padding
    • SUBSTRING
      • 특정 위치부터 원하는 만큼 가져옴
    • CONCAT
      • 몇 개의 string, field 들을 붙여서 새로운 field를 붙임.

 

기초 문법 ORDER BY ) 

  • 디폴트 순서는 오름차순
    • ORDER BY 1ASC
  • 내림차순을 원하면 "DESC"
    • ORDER BY 1 DESC
  • 여러개의 필드를 사용해서 정렬하려면
  • ORDER BY 1 DESC, 2, 3
  • NULL 값 순서는 ?
    • NULL 값들은 오름차순일 경우 처음에 위치.
    • NULL 값들은 내림차순 일 경우 마지막에 위치.

 

기초 문법 타입변환 1 ) 

  • DATE Conversion
    • NOW
    • 타임존 관련 변환
      • CONVERT_TZ(now().'GMT','Aosa/Seoul')
    • DATE, WEEK, MONTH, YEAR, HOUR, MINUTE, SECOND, QUARTER, MONTHNAME
    • DATEDIFF
    • DATE_ADD
      • DATE_ADD(created, INTERVAL 10 DAY) ten_days_after_created
    • ...
  • STR_TO_DATE, DATE_FORMAT

 

기초 문법 타입변환 2)

  • 1/2 의 결과는 ?
    • 0이 됨. 정수간의 연산은 정수가 되어야 하기 때문
      • 분자나 분모 중의 하나를 float로 캐스팅해야 0.5가 나옴
      • 이는 프로그래밍 언어에서도 일반적으로 동일하게 동작함
  • cast함수를 사용
    • cast(category as float)
    • convert(expression, float)
  • SELECT cast('100.0' as float), convert('100.0',float);

 

 

 

 

 

 

 

 

 

BELATED ARTICLES

more