본문 바로가기
MySQL

[MySQL] 문법 정리

by 주연이가 주연이다. 2023. 12. 18.

IFNULL

MySQL에서 IF 함수를 사용하여 특정 컬럼이 NULL인 경우를 처리할 수 있다.

ex1) phone_number 컬럼이 NULL이면 'NONE'으로 출력하는 경우를 다음과 같이 처리할 수 있다

SELECT IFNULL(phone_number, 'NONE') AS phone_number
FROM your_table;

 

ex2) 동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL 문을 작성해주세요. 이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다.

SELECT COUNT(DISTINCT NAME) AS count
FROM ANIMAL_INS
WHERE NAME IS NOT NULL;

LIMIT

조회할 데이터 갯수 제한

ex1) 동물 보호소에 가장 먼저 들어온 동물의 이름을 조회하는 SQL 문을 작성해주세요.

SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME
LIMIT 1

DATE_FORMAT()

날짜 포멧팅

ex1) MEMBER_PROFILE 테이블에서 생일이 3월인 여성 회원의 ID, 이름, 성별, 생년월일을 조회하는 SQL문을 작성해주세요. 이때 전화번호가 NULL인 경우는 출력대상에서 제외시켜 주시고, 결과는 회원ID를 기준으로 오름차순 정렬해주세요.

SELECT MEMBER_ID, MEMBER_NAME, GENDER, DATE_FORMAT(DATE_OF_BIRTH, '%Y-%m-%d') AS DATE_OF_BIRTH
FROM MEMBER_PROFILE
WHERE DATE_FORMAT(DATE_OF_BIRTH, '%m') = '03' AND GENDER = 'W' AND TLNO IS NOT NULL
ORDER BY MEMBER_ID;

 

%Y Year as a numeric, 4-digit value
%y Year as a numeric, 2-digit value
%M Month name in full (January to December)
%m Month name as a numeric value (00 to 12)
%D Day of the month as a numeric value, followed by suffix (1st, 2nd, 3rd, ...)
%d Day of the month as a numeric value (01 to 31)

 


YEAR() / MONTH() / DAY() 

SELECT YEAR("2017-06-15") AS print;
SELECT MONTH("2017-06-15") AS print;
SELECT DAY("2017-06-15") AS print;
print
2017
6
15

 


[참고]
MySQL Tutorial
SQL Tutorial

728x90
반응형

'MySQL' 카테고리의 다른 글

TIMESTAMPDIFF() 사용하기  (0) 2024.04.07
날짜 관련 함수 정리  (0) 2024.04.04
LIKE 연산자  (0) 2024.03.05
UNION / UNION ALL  (0) 2024.03.04
[SQL] JOIN 정리  (0) 2024.01.10