분류 전체보기 230

헤비 유저가 소유한 장소 # where 절 서브쿼리

이 서비스에서는 공간을 둘 이상 등록한 사람을 "헤비 유저"라고 부릅니다. 헤비 유저가 등록한 공간의 정보를 아이디 순으로 조회하는 SQL문을 작성해주세요. SELECT id,name,host_id FROM places WHERE host_id IN ( SELECT host_id FROM places GROUP BY 1 HAVING COUNT(host_id)>=2 ) ① SELECT host_id FROM places GROUP BY 1 HAVING COUNT(host_id)>=2 # host_id 가 2건 이상인 헤비유저를 뽑아준다 ② WHERE host_id IN (1번 서브쿼리) # 헤비유저들만 조회해준다

SQL 코드카타 2024.04.04

자동차 평균 대여 기간 구하기

CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 평균 대여 기간이 7일 이상인 자동차들의 자동차 ID와 평균 대여 기간(컬럼명: AVERAGE_DURATION) 리스트를 출력하는 SQL문을 작성해주세요. 평균 대여 기간은 소수점 두번째 자리에서 반올림하고, 결과는 평균 대여 기간을 기준으로 내림차순 정렬해주시고, 평균 대여 기간이 같으면 자동차 ID를 기준으로 내림차순 정렬해주세요. SELECT car_id , ROUND(AVG(DATEDIFF(end_date,start_date)+1),1) AVERAGE_DURATION FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY GROUP BY 1 HAVING AVERAGE_DURATION>=7 ORDER BY 2 DE..

SQL 코드카타 2024.04.04

서울에서 김서방 찾기 # index()

String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. def solution(seoul): a=seoul.index("Kim") return "김서방은 "+str(a)+"에 있다" ① a=seoul.index("Kim") # index() 문자열, 리스트, 튜플에서 위치(인덱스) 를 찾아준다 특정 문자열의 위치(인덱스) 찾기 ① find() # 문자열만 가능 ② index() # 문자열,리스트,튜플에서 가능 * 두가지 모두 딕셔너리에서 사용 시 에러발생함 > 딕셔너리는 인덱스가 없기 때문에! ③ format함..

나누어 떨어지는 숫자 배열

array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. def solution(arr, divisor): answer = [] for array in arr: if array % divisor==0: answer.append(array) answer.sort() if len(answer)==0: answer.append(-1) return answer ① answer = [] # 원하는 값이 배열에 추가되도록 빈 리스트를 생성 ② for array in arr: if array % divisor==0: answer.app..

2024-04-03

오늘 진행한 일 1. 이번주 TIL 다시 한번 보기 2. SQL 코드카타(56~60번) 기억할 내용 SQL INNER JOIN 을 여러번 할 경우 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 외래키 기준이 될 테이블을 제일 처음 적어주고 INNER JOIN 을 한 다음 연결해줄 테이블만 적어주면 된다 INNER JOIN = JOIN 같은 의미이므로 INNER 은 빼주어도 되지만 나중에 조금더 SQL이 익숙해졌을 때 제외하는거로 .. 테이블명에 별칭을 붙이는 작업도 AS 를 해주는 것이 보기 편하다 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 https:..

TIL 2024.04.03

자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 # SELECE절 서브쿼리

CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 2022년 10월 16일에 대여 중인 자동차인 경우 '대여중' 이라고 표시하고, 대여 중이지 않은 자동차인 경우 '대여 가능'을 표시하는 컬럼(컬럼명: AVAILABILITY)을 추가하여 자동차 ID와 AVAILABILITY 리스트를 출력하는 SQL문을 작성해주세요. 이때 반납 날짜가 2022년 10월 16일인 경우에도 '대여중'으로 표시해주시고 결과는 자동차 ID를 기준으로 내림차순 정렬해주세요. SELECT CAR_ID, IF(CAR_ID IN (SELECT CAR_ID FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY WHERE START_DATE = '2022-10-16'), '대여중', '대여 가능') A..

SQL 코드카타 2024.04.03

2024-04-02

오늘 진행한 일 1. SQL 코드카타 (51~55번) 2. 알고리즘 코드카타 복습 3. 알고리즘 코드카타 (23번) 기억할 내용 SQL 재구매가 일어난 상품과 회원 리스트 구하기 https://lyj-01.tistory.com/65 재구매가 일어난 상품과 회원 리스트 구하기 # GROUP BY https://school.programmers.co.kr/learn/courses/30/lessons/131536 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞 lyj-01.tistory.com 우선 재구매가 일어난 회원 리스트를 뽑았다.. SELECT * FROM online_sale user_id 15번 같은 사람을 ..

TIL 2024.04.02

조건에 맞는 사용자 정보 조회하기 # CONCAT(),SUBSTR()

https://school.programmers.co.kr/learn/courses/30/lessons/164670#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr USED_GOODS_BOARD와 USED_GOODS_USER 테이블에서 중고 거래 게시물을 3건 이상 등록한 사용자의 사용자 ID, 닉네임, 전체주소, 전화번호를 조회하는 SQL문을 작성해주세요. 이때, 전체 주소는 시, 도로명 주소, 상세 주소가 함께 출력되도록 해주시고, 전화번호의 경우 xxx-xxxx-xxxx 같은 형태로 하이픈 문자열(-)을 삽입하여 출력해주세요. 결과는 회원 ID..

SQL 코드카타 2024.04.02

재구매가 일어난 상품과 회원 리스트 구하기 # GROUP BY

https://school.programmers.co.kr/learn/courses/30/lessons/131536 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ONLINE_SALE 테이블에서 동일한 회원이 동일한 상품을 재구매한 데이터를 구하여, 재구매한 회원 ID와 재구매한 상품 ID를 출력하는 SQL문을 작성해주세요. 결과는 회원 ID를 기준으로 오름차순 정렬해주시고 회원 ID가 같다면 상품 ID를 기준으로 내림차순 정렬해주세요. SELECT user_id, product_id FROM online_sale GROUP BY 1,2 HAVING CO..

SQL 코드카타 2024.04.02