[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를 붙임.
- LEFT(str, N)
기초 문법 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가 나옴
- 이는 프로그래밍 언어에서도 일반적으로 동일하게 동작함
- 0이 됨. 정수간의 연산은 정수가 되어야 하기 때문
- cast함수를 사용
- cast(category as float)
- convert(expression, float)
- SELECT cast('100.0' as float), convert('100.0',float);
'Programming > MySQL' 카테고리의 다른 글
[MySQL] InsertUpdateDelete 2 (0) | 2023.01.12 |
---|---|
[MySQL] InsertUpdateDelete 1 (0) | 2023.01.12 |
[MySQL] 실습 내용 [GROUP BY] (0) | 2023.01.12 |
[MySQL] 실습 내용 [STRING, ORDER BY, DATE, TYPE CASTING] (0) | 2023.01.12 |
[MySQL] MySQLWorkbench 실습 환경 구축 및 실습 내용 (0) | 2023.01.12 |