SQL
-
250309_프로그래머스 #131536. 재구매가 일어난 상품과 회원 리스트 구하기SQL 2025. 3. 9. 21:43
문제https://school.programmers.co.kr/learn/courses/30/lessons/131536 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr코드SELECT USER_ID, PRODUCT_ID FROM ONLINE_SALEGROUP BY USER_ID, PRODUCT_IDHAVING COUNT(*) >= 2ORDER BY USER_ID, PRODUCT_ID DESC ※ GROUP BY - HAVING 절 복습!
-
250309_프로그래머스 #151138. 자동차 대여 기록에서 장기/단기 대여 구분하기SQL 2025. 3. 9. 21:31
문제https://school.programmers.co.kr/learn/courses/30/lessons/151138 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr코드SELECT HISTORY_ID, CAR_ID, DATE_FORMAT(START_DATE, '%Y-%m-%d') AS START_DATE, DATE_FORMAT(END_DATE, '%Y-%m-%d') AS END_DATE, IF (DATEDIFF(END_DATE, START_DATE) >= 29, '장기 대여', '단기 대여') AS RENT_TYPE FROM CAR_RENTAL_COMPANY_RENTAL_HISTORYWHERE DATE..
-
250309_프로그래머스 #301646. 특정 형질을 가지는 대장균 찾기SQL 2025. 3. 9. 20:53
문제https://school.programmers.co.kr/learn/courses/30/lessons/301646 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr코드SELECT COUNT(*) AS COUNTFROM ECOLI_DATAWHEREGENOTYPE & 2 = 0 -- 조건 ①: GENOTYPE의 2번째 비트(2^1)가 0이어야 함AND(GENOTYPE & 4 = 4 OR GENOTYPE & 1 = 1) -- 조건 ②: 3번째 비트(2^2)가 1이거나, 1번째 비트(2^0)가 1이어야 함 ※ 비트 연산이란걸 처음 해봐서 처음엔 SUBSTRING을 써야하나 고민했다. 하지만 이렇게 간단한 풀..
-
250302_프로그래머스 #298517. 가장 큰 물고기 10마리 구하기SQL 2025. 3. 2. 16:28
문제https://school.programmers.co.kr/learn/courses/30/lessons/298517 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr코드SELECT ID, LENGTHFROM FISH_INFOORDER BY LENGTH DESC, IDLIMIT 10 ※ 길이를 기준으로 상위 10마리의 물고기를 가져오는 문제. LIMIT를 활용하면 금방 풀 수 있었다✌🏻
-
250302_프로그래머스 #164673. 조건에 부합하는 중고거래 댓글 조회하기SQL 2025. 3. 2. 16:13
문제https://school.programmers.co.kr/learn/courses/30/lessons/164673 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr코드SELECT B.TITLE, B.BOARD_ID, R.REPLY_ID, R.WRITER_ID, R.CONTENTS, DATE_FORMAT(R.CREATED_DATE, '%Y-%m-%d') AS CREATED_DATEFROM USED_GOODS_BOARD BJOIN USED_GOODS_REPLY R ON B.BOARD_ID = R.BOARD_IDWHERE YEAR(B.CREATED_DATE) = 2022 AND MONTH(B.CREATED..
-
250302_프로그래머스 #144853. 조건에 맞는 도서 리스트 출력하기SQL 2025. 3. 2. 16:01
문제https://school.programmers.co.kr/learn/courses/30/lessons/144853 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr코드SELECT BOOK_ID, SUBSTRING(PUBLISHED_DATE, 1, 10) AS PUBLISHED_DATE FROM BOOKWHERE CATEGORY = '인문' AND YEAR(PUBLISHED_DATE) = 2021ORDER BY PUBLISHED_DATE ※ BOOK 테이블에서 '인문' 카테고리와 '2021'년에 발간된 책을 출력하는 문제였다 ! 날짜도 출력 형식에 맞추어 수정해줘야했당 ㅎㅎ DATE_FORMAT()도 ..
-
250301_프로그래머스 #132201. 12세 이하인 여자 환자 목록 출력하기SQL 2025. 3. 1. 21:06
문제https://school.programmers.co.kr/learn/courses/30/lessons/132201 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr코드SELECT PT_NAME, PT_NO, GEND_CD, AGE, if(TLNO IS NULL, 'NONE', TLNO) AS TLNOFROM PATIENTWHERE AGE ※ 전화번호가 NULL이면 'NONE'으로 바꿔주는 부분이 있었다. if문으로 처리해서 SELECT 문에서 바로 처리할 수 있도록 했다! 다른 방법으로는 COLAESCE를 활용하는 방법이 있다⤵️ SELECT PT_NAME, PT_NO, GEND_CD, AGE, C..
-
250301_프로그래머스 #131112. 강원도에 위치한 생산공장 목록 출력하기SQL 2025. 3. 1. 20:50
문제https://school.programmers.co.kr/learn/courses/30/lessons/131112 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr코드SELECT FACTORY_ID, FACTORY_NAME, ADDRESS FROM FOOD_FACTORYWHERE ADDRESS like '강원도%'ORDER BY FACTORY_ID ※ 가장 먼저 LIKE를 활용해서 '강원도'로 시작하는 행만 필터링 하는 방식으로 문제를 풀어봤다 ! '강원도%'는 '강원도' 다음에 어떤 글자가 와도 되는 패턴 매칭을 수행한다. 다른 방법으로도 풀 수 있을 것 같아서 LEFT, SUBSTRING을 활용해..