sql
-
[SQL 프로그래머스 STRING, DATE] 카테고리 별 상품 개수 구하기(ORACLE, MYSQL)<프로그래머스 고득점 SQL Kit> 2023. 6. 11. 19:57
카테고리 별 상품 개수 구하기 PRODUCT 테이블에서 상품 카테고리 코드(PRODUCT_CODE 앞 2자리) 별 상품 개수를 출력하는 SQL문을 작성해주세요. 결과는 상품 카테고리 코드를 기준으로 오름차순 정렬해주세요. --MYSQL SELECT LEFT(PRODUCT_CODE, 2) AS CATEGORY, COUNT(*) AS PRODUCT FROM PRODUCT GROUP BY CATEGORY ORDER BY CATEGORY ASC; --ORACLE SELECT LEFT(PRODUCT_CODE, 2) AS CATEGORY, COUNT(*) AS PRODUCT FROM PRODUCT GROUP BY SUBSTR(PRODUCT_CODE,1,2) ORDER BY CATEGORY ASC;
-
[SQL 프로그래머스 STRING, DATE] 조건에 맞는 사용자 정보 조회하기(ORACLE, MYSQL)<프로그래머스 고득점 SQL Kit> 2023. 6. 11. 19:03
조건에 맞는 사용자 정보 조회하기 USED_GOODS_BOARD와 USED_GOODS_USER 테이블에서 중고 거래 게시물을 3건 이상 등록한 사용자의 사용자 ID, 닉네임, 전체주소, 전화번호를 조회하는 SQL문을 작성해주세요. 이때, 전체 주소는 시, 도로명 주소, 상세 주소가 함께 출력되도록 해주시고, 전화번호의 경우 xxx-xxxx-xxxx 같은 형태로 하이픈 문자열(-)을 삽입하여 출력해주세요. 결과는 회원 ID를 기준으로 내림차순 정렬해주세요. --MYSQL SELECT USER_ID, NICKNAME, CONCAT(CITY, ' ', STREET_ADDRESS1,' ',STREET_ADDRESS2) AS 전체주소, CONCAT(SUBSTR(TLNO,1,3),'-',SUBSTR(TLNO,4,4..
-
[SQL 프로그래머스 STRING, DATE] 취소되지 않은 진료 예약 조회하기(ORACLE, MYSQL)<프로그래머스 고득점 SQL Kit> 2023. 6. 11. 01:10
취소되지 않은 진료 예약 조회하기 PATIENT, DOCTOR 그리고 APPOINTMENT 테이블에서 2022년 4월 13일 취소되지 않은 흉부외과(CS) 진료 예약 내역을 조회하는 SQL문을 작성해주세요. 진료예약번호, 환자이름, 환자번호, 진료과코드, 의사이름, 진료예약일시 항목이 출력되도록 작성해주세요. 결과는 진료예약일시를 기준으로 오름차순 정렬해주세요. --MYSQL SELECT BC.APNT_NO, A.PT_NAME, A.PT_NO, BC.MCDP_CD, BC.DR_NAME, BC.APNT_YMD FROM (SELECT C.PT_NO, C.MCDP_CD, C.APNT_YMD, B.DR_NAME, C.APNT_NO FROM DOCTOR B JOIN APPOINTMENT C ON B.DR_ID =..
-
[SQL 프로그래머스 STRING, DATE] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기(ORACLE, MYSQL)<프로그래머스 고득점 SQL Kit> 2023. 6. 10. 21:43
조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 USED_GOODS_BOARD와 USED_GOODS_FILE 테이블에서 조회수가 가장 높은 중고거래 게시물에 대한 첨부파일 경로를 조회하는 SQL문을 작성해주세요. 첨부파일 경로는 FILE ID를 기준으로 내림차순 정렬해주세요. 기본적인 파일경로는 /home/grep/src/ 이며, 게시글 ID를 기준으로 디렉토리가 구분되고, 파일이름은 파일 ID, 파일 이름, 파일 확장자로 구성되도록 출력해주세요. 조회수가 가장 높은 게시물은 하나만 존재합니다. -- MYSQL SELECT CONCAT('/home/grep/src/', BOARD_ID, '/', FILE_ID, FILE_NAME, FILE_EXT) AS FILE_PATH FROM USED_GOOD..
-
[SQL 프로그래머스 SELECT] 재구매가 일어난 상품과 회원 리스트 구하기(ORACLE, MYSQL)<프로그래머스 고득점 SQL Kit> 2023. 6. 10. 15:31
재구매가 일어난 상품과 회원 리스트 구하기 ONLINE_SALE 테이블에서 동일한 회원이 동일한 상품을 재구매한 데이터를 구하여, 재구매한 회원 ID와 재구매한 상품 ID를 출력하는 SQL문을 작성해주세요. 결과는 회원 ID를 기준으로 오름차순 정렬해주시고 회원 ID가 같다면 상품 ID를 기준으로 내림차순 정렬해주세요. --MYSQL, ORACLE SELECT USER_ID, PRODUCT_ID FROM ONLINE_SALE GROUP BY USER_ID, PRODUCT_ID HAVING COUNT(*) > 1 ORDER BY USER_ID ASC, PRODUCT_ID DESC;
-
[SQL 프로그래머스 SELECT] 오프라인/온라인 판매 데이터 통합하기(ORACLE, MYSQL)<프로그래머스 고득점 SQL Kit> 2023. 6. 10. 15:15
오프라인/온라인 판매 데이터 통합하기 ONLINE_SALE 테이블과 OFFLINE_SALE 테이블에서 2022년 3월의 오프라인/온라인 상품 판매 데이터의 판매 날짜, 상품ID, 유저ID, 판매량을 출력하는 SQL문을 작성해주세요. OFFLINE_SALE 테이블의 판매 데이터의 USER_ID 값은 NULL 로 표시해주세요. 결과는 판매일을 기준으로 오름차순 정렬해주시고 판매일이 같다면 상품 ID를 기준으로 오름차순, 상품ID까지 같다면 유저 ID를 기준으로 오름차순 정렬해주세요. -- MYSQL (SELECT DATE_FORMAT(SALES_DATE, '%Y-%m-%d') AS SALES_DATE, PRODUCT_ID, NULL AS USER_ID, SALES_AMOUNT FROM OFFLINE_SALE..
-
[SQL 프로그래머스 SELECT] 상위 n개 레코드(ORACLE, MYSQL)<프로그래머스 고득점 SQL Kit> 2023. 6. 9. 21:37
서울에 위치한 식당 목록 출력하기 REST_INFO와 REST_REVIEW 테이블에서 서울에 위치한 식당들의 식당 ID, 식당 이름, 음식 종류, 즐겨찾기수, 주소, 리뷰 평균 점수를 조회하는 SQL문을 작성해주세요. 이때 리뷰 평균점수는 소수점 세 번째 자리에서 반올림 해주시고 결과는 평균점수를 기준으로 내림차순 정렬해주시고, 평균점수가 같다면 즐겨찾기수를 기준으로 내림차순 정렬해주세요. --MYSQL, ORACLE SELECT A.REST_ID, A.REST_NAME, A.FOOD_TYPE, A.FAVORITES, A.ADDRESS, ROUND(AVG(B.REVIEW_SCORE),2) as SCORE FROM REST_INFO A INNER JOIN REST_REVIEW B ON A.REST_ID =..