SQL 49

[프로그래머스] [SQL] 서울에 위치한 식당 목록 출력하기

으어어 간만에 돌아왔다 SQL만 파기로 했기 때문에 SQL SELECT 4단계다 몇번의 코테를 거치면서 ROUND는 기본 탑재됐다 SELET 식당 ID, 식당 이름, 음식 종류, 즐겨찾기수, 주소, 리뷰 평균 점수(리뷰 평균점수는 소수점 세 번째 자리에서 반올림) FROM REST_INFO와 REST_REVIEW 테이블 WHERE 서울에 위치한 식당들 GROUP BY 식당 별 평균 점수 ORDER BY 평균점수를 기준으로 내림차순 정렬, 즐겨찾기수를 기준으로 내림차순 정렬 SELECT REST_INFO.REST_ID, REST_NAME, FOOD_TYPE, FAVORITES, ADDRESS, ROUND(avg(REVIEW_SCORE), 2) as SCORE FROM REST_INFO JOIN REST_R..

코딩테스트 2023.11.22

[프로그래머스] [SQL] 오랜 기간 보호한 동물(1)

일주일만에 하는거 같은데... SQL로 돌아옴! 전에 조금 풀어놨었는데 뭐가 안되는지 안풀려서 방치해놨던거 다시 풀었다 최근에 코테를 쳤는데 거기선 서브쿼리보다 조인에 더 많은 점수를 준대서 서브쿼리를 안쓰고 풀었는데(다풀진 못했지만) 그래서 이 문제에서도 서브쿼리 욕심 버리고 풀어봄 LEFT OUTER JOIN 쓴 이유는 입양을 가지 못한 애들을 NULL로 받을려고 SELECT ANIMAL_INS.NAME, ANIMAL_INS.DATETIME FROM ANIMAL_INS LEFT OUTER JOIN ANIMAL_OUTS ON ANIMAL_INS.ANIMAL_ID = ANIMAL_OUTS.ANIMAL_ID WHERE ANIMAL_OUTS.DATETIME is null ORDER BY ANIMAL_INS...

코딩테스트 2023.11.17

[프로그래머스] [SQL] 대여 기록이 존재하는 자동차 리스트 구하기

머리가 안돌아간다 SQL 풀기 SELECT 절에서 서브쿼리써서 풀고 싶었는데 생각보다 잘 안풀려서 이럴거면 그냥 안쓰는게 낫겠다 싶어서 서브쿼리 안쓰고 풀었다 ... 이제 설명할 것도 없는 거 같은데 SELECT CAR_ID인데 겹치지 않게(DISTINCT) FROM 테이블 두개 CAR_ID로 조인 WHERE CAR_TYPE = '세단' and 대여시작이 10월인 거 (LIKE '2022-10%') → 이미 DATE라서 형변환은 안함 ORDER BY CAR_ID대로 내림차순 SELECT DISTINCT CAR_RENTAL_COMPANY_CAR.CAR_ID FROM CAR_RENTAL_COMPANY_CAR JOIN CAR_RENTAL_COMPANY_RENTAL_HISTORY ON CAR_RENTAL_COM..

코딩테스트 2023.11.09

[프로그래머스] [SQL] 없어진 기록 찾기

거의 일주일만에 돌아온 코테 SQL 집중 기간이라 SQL로 돌아옴 나간 기록은 있는데 들어온 기록이 없다 => outs에 ins를 붙여야겠다는 생각이 먼저 들었다 left join을 썼다 => outs에 있고 ins에 없는걸 null로 합쳐질 수 있도록! 그리고 is null인걸로 걸러내기 완성 SELECT ANIMAL_OUTS.ANIMAL_ID, ANIMAL_OUTS.NAME FROM ANIMAL_OUTS LEFT JOIN ANIMAL_INS ON ANIMAL_OUTS.ANIMAL_ID = ANIMAL_INS.ANIMAL_ID WHERE ANIMAL_INS.ANIMAL_ID is null; 당연히 join으로 하면 두 테이블 모두에서 있는 것만 합쳐지기 때문에 성립되지 않는다 그렇다면 right joi..

코딩테스트 2023.10.24

[프로그래머스] [SQL] 조건에 부합하는 중고거래 상태 조회하기

이게 나를 애먹인 문제 CASE~WHEN 절을 처음 써봐서 그런 것도 있고 몰라서 Bard한테 물어봤는데 자꾸 이상하게 답해서 더 헤맸다 Bard 이 좌식 ~~! 난 처음 풀어봐서 코드가 좀 복잡한데 고수님들 답 찾아보니 낫다 그래도 우선 내가 푼 논리구조 기록하기 거래상태가 SALE 이면 판매중, RESERVED이면 예약중, DONE이면 거래완료 분류하여 출력 이 부분을 해결하는 함수를 찾는데 시간이 좀 들었다 CASE~WHEN은 사용해 본 적이 없어서 바로 머리 속에서 안나왔음 😂 어찌저찌 찾았는데 처음에는 CASE WHEN ~ THEN CASE WHEN ~ THEN 이렇게 적고 ㅋㅋㅋㅋㅋ 자꾸 오류나서 Bard한테 물어보니 컴마를 찍으라고... 해결은 안됐다 스트레스트만 받음 다른게 문제가 아니고 ..

코딩테스트 2023.10.13

[프로그래머스] [SQL] DATETIME에서 DATE로 형 변환

다른거 풀다가 도저히 안풀려서 다른 문제 찾기 어제오늘은 계속 STRING, DATE 요 부분만 하는 거 같네 DATE_FORMAT을 오랜만에 쓰다보니 순서가 헷갈렸다 DATE_FORMAT(컬럼명, '형식') 기억하기 !! SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME, '%Y-%m-%d') '날짜' FROM ANIMAL_INS ORDER BY ANIMAL_ID ASC; 그거말고는 쉽다 풀던거 마저 풀러가야지.... 출처 : 프로그래머스

코딩테스트 2023.10.13

[프로그래머스] [SQL] 특정 옵션이 포함된 자동차 리스트 구하기

오늘의 2번째 SQL 서브쿼리를 쓰려다보니 지나치게 복잡하게 생각해버렸다 그냥 평소처럼 하면 되는데.... SELECT CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS FROM ( SELECT CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS FROM CAR_RENTAL_COMPANY_CAR WHERE OPTIONS LIKE '%네비게이션%' ) A ORDER BY CAR_ID DESC; FROM절에 쓰는 서브쿼리는 이제 이해했다 FROM에서 걸러서 테이블을 하나만들고 그걸 테이블로 해서 원하는 데이터 뽑아내기 ! (내가 이해한 바로는 SELECT절이나 WHERE절에서는 1개만 나와야 함) 그리고 FROM 서브쿼리 끝나고 나면 꼭 이름 하나 붙여주기 ! 그 외에 복잡하게..

코딩테스트 2023.10.12

[프로그래머스] [SQL] 고양이와 개는 몇 마리 있을까

목표 : 토요일까지 SQL 하루에 2문제씩 풀기 내 마음의 안식처 컴백~ 이건 딱히 설명할 건 없고 "고양이보다 개를 먼저 조회해주세요" 라길래 한글로 나올 줄 알았는데 영어로 나온 거만 빼면 아주 수월했다 SELECT ANIMAL_TYPE, count(ANIMAL_TYPE) "count" FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE ASC; 출처 : 프로그래머스

코딩테스트 2023.10.12

[프로그래머스] [SQL] 진료과별 총 예약 횟수 출력하기

DBA 넣고 코테를 SQL로 본대서 본격 서브쿼리 공부하기 시작 서브쿼리로 최대한 풀어보려 했는데 너무 예전에 배웠어서 기억이 희미... 구글링해도 잘 이해가 안돼서 전략을 바꿨다 우선 내가 풀기 → GPT에게 물어보기 난 Bard를 쓰긴 했지만 비교해가며 공부하려고 ㅎ 우선 이게 내가 푼 SQL 실은 서브쿼리 만든다고 정신없어서 어떻게 풀었는지도 모르겠다 맞아서 오히려 어리둥절했음 이제 뜯어보자 ^^ SELECT 컬럼명은 '진료과 코드', '5월예약건수' FROM APPOINTMENT 테이블 WHERE 2022년 5월에 예약 GROUP BY 진료과코드 별로 조회 ORDER BY 진료과별 예약한 환자 수를 기준으로 오름차순 , 진료과 코드를 기준으로 오름차순 정렬 SELECT MCDP_CD as "진료과..

코딩테스트 2023.10.02