알고리즘과 언어

MySQL 유용한 URL (-ing)

nextcoder 2022. 2. 11. 14:37

 

 

 

 

- 개수 세기

SELECT count(*) 
FROM ANIMAL_INS

 

NULL 포함되는 경우 : COUNT(*)
NULL 포함되지 않는 경우: COUNT(ColumnName) // 컬럼명을 쓰면 NULL은 빼고 센다.

 

- 상위 n개만 출력

 

SELECT NAME FROM ANIMAL_INS
ORDER BY DATETIME
LIMIT 1

마지막에 LIMIT 이용

 

- n가지 기준으로 정렬

 

ORDER BY NAME ASC, DATETIME DESC

 

이름은 오름차순으로, 이름이 같다면 날짜 내림차순으로

 

 

- NULL 비교상황 (ex. NULL < 3)

 

NULL 은 <, >, = 로 비교 되어 출력되지 않는다. is null / is not null 만 가능 

 

 

- JOIN 의 결과. LEFT JOIN을 두 번 한다면?

 

LEFT JOIN 했을 때, A 기본 키에 매칭되는 B의 외래키 값이 2개라면, 2개의 줄이 생긴다.

 

2에 해당하는 외래키가 2개씩 있는 B, C 를 나란히 LEFT JOIN 했다면 2*2 4개의 줄이 생긴다.

 

B의 값은 you, C의 값은 hi일 때

 

- 두 날짜의 차이로 정렬하고 싶다면?

 

ORDER BY DATEDIFF(ANIMAL_OUTS.DATETIME, ANIMAL_INS.DATETIME) DESC LIMIT 2

 

두 날짜의 차이를 구하는 DATEDIFF, 내림차순, 2개만

 

 

- DATE 원하는 포맷으로 바꾸기

SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME, '%Y-%M-%D') FROM ANIMAL_INS
    ORDER BY ANIMAL_ID;

 

포맷 양식

https://devjhs.tistory.com/89

 

[mysql] DATE_FORMAT - 날짜 형식 설정

1. DATE_FORMAT - 역할 DATE_FORMAT(날짜 , 형식) : 날짜를 지정한 형식으로 출력 2. DATE_FORMAT - 구분기호  구분기호 역할 구분기호 역할  %Y 4자리 년도 %m 숫자 월 ( 두자리 )  %y 2자리 년도 %c 숫자..

devjhs.tistory.com

 

- 왼쪽에서 몇개만 자르기

 

SELECT ANIMALID, NAME, LEFT(DATETIME, 10)

MID(문자, 시작 위치, 가져올 갯수)

RIGHT(문자, 가져올 갯수)

 

 

- NULL 처리

 

https://velog.io/@gillog/DB-MySQL-NULL-%EC%B2%98%EB%A6%ACIFNULL-CASE-COALESCE

 

[DB] MySQL NULL 처리(IFNULL, CASE, COALESCE)

MySQL에서 Column의 값이 Null인 경우를 처리해주는 함수들은 IFNULL, CASE, COALESCE과 같은 함수들이 있다.Orcale의 NVL()과 비슷한 기능을 한다.해당 Column의 값이 NULL을 반환할 때, 다른 값으로 출력할 수 있

velog.io

IFNULL (컬럼명, "NULL일 경우 대체 문자열")

 

 

- 숫자 관련 함수

 

절대값 : ABS(숫자)

소수점 올림 : CEILING(숫자)

소수점 버림 : FLOOR(숫자)

소수점 반올림 : ROUND(숫자, 자릿수) ->자릿수는 양수 ~ 음수 가능

소수점 자릿수 버림 : TRUNCATE(숫자, 자릿수)

제곱 : POW(숫자, n)

나머지 : MOD(분자, 분모)

최대값 : GREATEST(숫자1, 숫자2, 숫자3 ...)

최솟값 : LEAST( )

 

- 문자열 관련 함수

 

길이 : LENGTH('hello') -> 영어는 잘 세지만, 한글은 1글자 당 3으로 센다

// CHAR_LENGTH( ) 를 쓰면 영어, 숫자 둘다 길이 잘 읽음

 

공백 제거

 

https://extbrain.tistory.com/64?category=270532 

 

[MySQL] 문자열에 공백 또는 문자 제거 (TRIM, LTRIM, RTRIM 함수)

▶MySQL 문자열에 공백 또는 문자 제거 (TRIM, LTRIM, RTRIM 함수) ▶설명 MySQL에서 문자에 공백을 제거할 때 사용하는 함수인 TRIM, LTRIM, RTRIM 함수에 대해 알아보겠습니다. TRIM : 문자열에 공백 또는 문.

extbrain.tistory.com

 

소문자 / 대문자 변경 : UPPER() LOWER()