본문 바로가기
PS/SQL

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

by 행복한라이언 2024. 1. 28.
728x90
반응형

문제링크

https://school.programmers.co.kr/learn/courses/30/lessons/131120

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

1. 핵심

  • null은 출력하지 않는다. → where 컬렁명 is not null
    • null은 판단하는 곳은 where절이며 is null과 is not null로 null을 판단!
  • LIKE - where절에서 사용
    • '%' : 0개 이상의 문자와 일치
    • '_' : 정확히 한 개의 문자와 일치

2. 코드(MySQL)

SELECT MEMBER_ID, MEMBER_NAME, GENDER, DATE_OF_BIRTH
FROM MEMBER_PROFILE
WHERE GENDER = "W" 
    AND DATE_OF_BIRTH LIKE "%-03-%"
    AND TLNO IS NOT NULL
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 GENDER = "W" 
    AND MONTH(DATE_OF_BIRTH) = 3 
    AND TLNO IS NOT NULL
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 TLNO is not null 
	and GENDER = "W" 
    and month(DATE_OF_BIRTH) = "03"
order by MEMBER_ID asc;

 

3. 활용예제

1. name 열에서 "J"로 시작하는 모든 이름

SELECT *
FROM employees
WHERE name LIKE 'J%';

 

2.  두 번째 글자가 "o"이고 이름이 세 글자인 모든 이름

SELECT *
FROM employees
WHERE name LIKE '_o%';

 

3. 이름이 "a", "b", 또는 "c"로 시작하는 직원 찾기

SELECT *
FROM employees
WHERE name LIKE '[abc]%';

 

4. 이름이 "a", "b", 또는 "c"로 시작하지 않는 직원 찾기

SELECT *
FROM employees
WHERE name LIKE '[^abc]%';

 

5. 이름이 알파벳 소문자로 시작하고 그 다음에 두 자리가 숫자인 직원 찾기

SELECT *
FROM employees
WHERE name LIKE '[a-z][0-9][0-9]%';
728x90
반응형