55. 조건에 맞는 사용자 정보 조회하기
문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/164670
정답 코드:
SELECT
u.USER_ID,
u.NICKNAME,
CONCAT(CITY, ' ', STREET_ADDRESS1, ' ', STREET_ADDRESS2) AS "전체주소",
CONCAT(SUBSTRING(TLNO, 1, 3), '-',
SUBSTRING(TLNO, 4, 4), '-',
SUBSTRING(TLNO, 8, 4)) AS "전화번호"
FROM USED_GOODS_USER u
INNER JOIN(
SELECT
WRITER_ID,
COUNT(*) AS post_count
FROM USED_GOODS_BOARD
GROUP BY WRITER_ID
HAVING COUNT(*) >= 3) AS board_cnt
on board_cnt.WRITER_ID = u.USER_ID
ORDER BY u.USER_ID DESC;
문제 풀이때 했던 생각.
| # 중고 거래 게시물을 3건 이상 등록한 사용자 -> USED_GOODS_BOARD # 사용자 ID, 닉네임, 전체주소, 전화번호 # 전체 주소는 시, 도로명 주소, 상세 주소가 함께 출력 # 전화번호의 경우 xxx-xxxx-xxxx 같은 형태로 하이픈 문자열(-)을 삽입하여 출력 -> USED_GOODS_USER # 결과는 회원 ID를 기준으로 내림차순 1. 사용자별 게시글 개수 계산 SELECT WRITER_ID, COUNT(*) AS post_count FROM USED_GOODS_BOARD GROUP BY WRITER_ID HAVING post_count >= 3 2. 결과를 사용자 테이블과 결합 (FROM 서브쿼리 + JOIN) |
57. 조건에 부합하는 중고거래 상태 조회하기
문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/164672
정답 코드:
SELECT
BOARD_ID,
WRITER_ID,
TITLE,
PRICE,
CASE
WHEN STATUS = 'SALE' THEN '판매중'
WHEN STATUS = 'RESERVED' THEN '예약중'
WHEN STATUS = 'DONE' THEN '거래완료'
END AS STATUS
FROM USED_GOODS_BOARD
WHERE CREATED_DATE = "2022-10-05"
ORDER BY BOARD_ID DESC
문제 풀이때 했던 생각.
| # 2022년 10월 5일에 등록된 중고거래 게시물 # 게시글 ID, 작성자 ID, 게시글 제목, 가격, 거래상태를 조회 # SALE 이면 판매중, RESERVED이면 예약중, DONE이면 거래완료 분류하여 출력 # 결과는 게시글 ID를 기준으로 내림차순 정렬 |
58. 취소되지 않은 진료 예약 조회하기
문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/132204
정답 코드:
SELECT
A.APNT_NO,
P.PT_NAME,
P.PT_NO,
A.MCDP_CD,
D.DR_NAME,
A.APNT_YMD
FROM APPOINTMENT A
INNER JOIN PATIENT P
ON A.PT_NO = P.PT_NO
INNER JOIN DOCTOR D
ON A.MDDR_ID = D.DR_ID
WHERE A.APNT_CNCL_YN = "N" AND A.APNT_YMD LIKE '2022-04-13%'
ORDER BY A.APNT_YMD ASC
문제 풀이때 했던 생각.
| # PATIENT, DOCTOR 그리고 APPOINTMENT 테이블에서 2022년 4월 13일 취소되지 않은 흉부외과(CS) 진료 예약 내역을 조회 # 진료예약번호, 환자이름, 환자번호, 진료과코드, 의사이름, 진료예약일시 항목이 출력되도록 작성 # 진료예약일시를 기준으로 오름차순 정렬 # 취소되지 않은 흉부외과(CS) 진료 예약 내역 SELECT APNT_NO, APNT_CNCL_YN # Y가 취소 N이 신청 FROM APPOINTMENT WHERE APNT_CNCL_YN = "Y" JOIN 조건 APPOINTMENT.PT_NO=PATIENT.PT_NO APPOINTMENT.MDDR_ID = DOCTOR.DR_ID |
'E.코드카타 > Level 4' 카테고리의 다른 글
| 코드카타 Level.4 65~Level.5 66, 67 (0) | 2026.01.16 |
|---|---|
| 코드카타 Level.4 62~64 (0) | 2026.01.14 |
| 코드카타 Level.4 59~61 (0) | 2026.01.13 |
| 코드카타 Level.4 51~53 (다음에 서브쿼리로 풀어보기) (1) | 2026.01.11 |
