[SQL] Programers SELECT 문제 풀이 4번 (MySQL ROUND, TRUNCATE 함수)

juyeon lee·2024년 1월 10일

SQL TEST

목록 보기
4/8

프로그래머스 SQL 고득점 Kit

🖥️SELECT 4번

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


🔹문제
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 GENDER='W' AND MONTH(DATE_OF_BIRTH) = 03 AND TLNO IS NOT NULL
ORDER BY MEMBER_ID;

💡오답 노트
1. TLNO != NULL❌
➡️ NULL 조건은 부등호 사용하지 않고 IS NULL or IS NOT NULL


📖NULL 함수


NULL : 값이 존재하지 않는 것으로 확정되지 않은 값을 표현할 때 사용

  • 어떤 값보다 크거나 작지도 않고 ' '(공백)이나 0(Zero)와 달리 비교 자체가 불가능한 값
  • 어떤 값과 비교할 수도 없으며, 특정 값보다 크다, 적다라고 표현할 수 없다.

🏷️IS NULL

값이 NULL인 경우를 찾기 위해 사용

NULL값이면 TRUE 아니면 FALSE

  • NULL 값과의 수치 연산은 NULL 값을 리턴
  • NULL 값과의 비교 연산은 거짓(FALSE)를 리턴

기본 구조

SELECT 컬럼1, 컬럼2 FROM 테이블명 WHERE 컬럼 IS NULL;

예시

핸드폰 번호가 등록되지 않은 회원의 이름과 나이를 출력하라.
= 핸드폰 번호 컬럼 값이 NULL인 회원의 이름과 나이를 출력하라.

SELECT NAME, AGE FROM CUSTOMER WHERE PHONE IS NULL;

🏷️IS NOT NULL

NULL이 아닌 경우를 찾기 위해 사용

  • NULL과 모든 사칙연산과의 결과는 NULL

기본 구조

SELECT 컬럼1, 컬럼2 FROM 테이블명 WHERE 컬럼 IS NOT NULL;

예시

토익 점수가 있는 학생의 이름과 학년을 출력하라.
= 토익 점수 컬럼 값이 NULL이 아닌 학생의 이름과 학년을 출력하라.

SELECT NAME, GRADE FROM STUDENT WHERE TOEIC IS NOT NULL;

0개의 댓글