Day36

강태훈·2026년 2월 20일

nbcamp TIL

목록 보기
36/58

MySQL

최솟값 구하기

SELECT DATETIME
FROM ANIMAL_INS
ORDER BY DATETIME
LIMIT 1
;
SELECT MIN(DATETIME)
FROM ANIMAL_INS
;
  • 본래는 아래처럼 MIN()을 사용하면 되지만 MIN()을 모르고 LIMIT만 알고있어서 크기순으로 정렬후 한개 제한해서 출력

이름에 el들어가는 동물 찾기

SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE NAME LIKE "%el%"
AND ANIMAL_TYPE = "DOG"
ORDER BY NAME
;
  • LIKE "%찾는 글자%" 사용

중성화 여부 파악하기

SELECT ANIMAL_ID, NAME, 
CASE WHEN SEX_UPON_INTAKE LIKE 'Neutered%' THEN 'O'
    WHEN SEX_UPON_INTAKE LIKE 'Spayed%' THEN 'O'
    ELSE 'X'
END AS 중성화
FROM ANIMAL_INS
ORDER BY ANIMAL_ID
;
  • CASE문 사용

오랜기간동안 보호한 동물(2)

SELECT O.ANIMAL_ID, O.NAME
FROM ANIMAL_OUTS O
JOIN ANIMAL_INS I
ON O.ANIMAL_ID = I.ANIMAL_ID
ORDER BY DATEDIFF(O.DATETIME, I.DATETIME) DESC
LIMIT 2
;
  • DATEDIFF(A,B): A와 B의 시간차이를 계산
  • 입양간 동물만 대상이므로 ANIMAL_OUTSANIMAL_INSJOIN

카테고리 별 상품 개수 구하기

SELECT SUBSTR(PRODUCT_CODE,1,2) AS CATEGORY, COUNT(PRODUCT_ID) AS PRODUCTS
FROM PRODUCT
GROUP BY CATEGORY
;
  • SUBSTR(문자열, 시작위치, 길이)
    • 문자열에서 지정한 시작 위치부터 원하는 길이만큼의 부분 문자열을 추출하는 함수
    • 특징:
      • 시작 위치는 1부터 시작
      • 길이를 생략하면 시작 위치부터 끝까지 추출
      • 문자열, 숫자 컬럼 모두 사용 가능(자동 문자열 변환)

0개의 댓글