[MySQL] 3월에 태어난 여성 회원 목록 출력하기

Saemi Min·2023년 2월 13일
0

MySQL

목록 보기
2/21
post-thumbnail

문제

해당 문제 링크


정답

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

날짜 처리 다르게 한 방법

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

문법

날짜 포맷 / 형식

DATE_FORMAT("날짜값,날짜컬럼", "%Y");

SELECT DATE_FORMAT("2021/01/24 12:33:32", "%Y-%m-%d");
-- 2021-01-24 12:33:32 으로 출력

비교 연산자

  • IS
    : 왼쪽 피연산자와 오른쪽 피연산자가 같으면 참을 반환함.
    (오른쪽 피연산자가 불리언 값인 TRUE, FALSE, UNKNOWN 값일 때 사용함)
  • IS NOT
    : 왼쪽 피연산자와 오른쪽 피연산자가 같지 않으면 참을 반환함.
    (오른쪽 피연산자가 불리언 값인 TRUE, FALSE, UNKNOWN 값일 때 사용함)
  • IS NULL
    : 피연산자의 값이 NULL이면 참을 반환함.
  • IS NOT NULL
    : 피연산자의 값이 NULL이 아니면 참을 반환함.
  • BETWEEN min AND max
    : 피연산자의 값이 min 값보다 크거나 같고, max 값보다 작거나 같으면 참을 반환함.
  • IN()
    : 피연산자의 값이 인수로 전달받은 리스트에 존재하면 참을 반환함.

정렬

  • ORDER BY절
    : 특정 속성을 기준으로 정렬하여 검색할 때 사용
    = ASC :오름차순 (생략하면 오름차순)
    = DESC : 내림차순

해석 및 조심할 부분

문제가 생일이 3월인 여성 회원의 ID, 이름, 성별, 생년월일을 조회하는 SQL문을 작성하라고 했다.
이때 여성 회원이라는 것을 간과하면 안됨!!!

또한, NULL인 경우는 출력대상에서 제외 시키는 문법으로는 아래의 코드가 알맞다

AND TLNO IS NOT NULL

아래와 같이 작성하지 않도록 조심!!!

AND TLNO!=NULL
profile
I believe in myself.

0개의 댓글