SQL 7

[오라클] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 TO_DATE, EXTRACT

출처 : https://school.programmers.co.kr/learn/courses/30/lessons/151139?language=oracle 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이 방법먼저 대여 시작일이 8월에서 11월까지인 대여를 추출하기 위해 TO_DATE함수를 사용해서 8월 1일과 11월 1일을 DATE로 만들어 준 후 비교한다. 그 후 같은 CAR_ID끼리는 그룹화해 대여 횟수가 5번 이상인 CAR_ID를 추출한다.DATE TYPE에서 MONTH를 추출하기 위해 EXTRACT함수를 사용해서 MONTH만 추출해 준다.EXTRACT..

SQL 2024.09.24

[오라클] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (문자열연결, ROWNUM)

출처 : https://school.programmers.co.kr/learn/courses/30/lessons/164671 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이 방법해결해야 하는 문제1. SELECT 부분에서 문자열을 연결하기2. 제일 조회수가 많은 게시글 찾기 문자열 연결하기select 절에서 ||를 사용해 문자열을 연결할 수 있다.'/home/grep/src/' || F.BOARD_ID || '/' || F.FILE_ID || F.FILE_NAME || F.FILE_EXT제일 조회수가 많은 게시글 찾기가장 조회수가 많은 게시글 ID를 찾아야..

SQL 2024.09.21

[오라클] 조건에 부합하는 중고거래 상태 조회하기

출처 : https://school.programmers.co.kr/learn/courses/30/lessons/164672 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이 방법특정 날짜의 거래기록을 조회하고 별칭을 사용해서 출력하는 문제이다.데이터타입을 다루기 위해 TO_DATE함수를 사용했다.그 후 데이터를 특정 스트링형태로 변환 후 비교하기 위해 TO_CHAR함수로 변형 후 비교 했다.판매 중, 예약 중, 거래완료를 변칭으로 사용하기 위해 CASE WHEN 문법을 사용해 STATUS를 바꾸어 주었다. SELECT BOARD_ID, WRITER_ID, ..

SQL 2024.09.21

[오라클] 자동차 평균 대여 기간 구하기

출처 : https://school.programmers.co.kr/learn/courses/30/lessons/157342 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이 방법일단 CAR_ID를 기준으로 그룹을 만든다. 그 후 HAVING 조건으로 차이가 7일 이상 나는 그룹을 선택한다. 여기서 ROUND 함수를 사용해서 소수점 두 번째 자리에서 반올림을 한다.SELECT 할 때 중요한 점은 나누어 떨어지는 기간이라도 마지막에 .0을 붙여줘야 한다는 것이다.이를 위해 TO_CHAR함수를 사용해서 포멧을 맞추어 준다. 'FM9990.0')SELECT ..

SQL 2024.09.20

[오라클] 보호소에서 중성화한 동물

출처 : https://school.programmers.co.kr/learn/courses/30/lessons/59045 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이 방법ANIMAL_INS과 ANIMAL_OUTS를 같은 아이디를 기준으로 조인한 후 ANIMAL_INS의 중성화 여부는 Intact Female or Intact Male이 되어야 하고 ANIMAL_OUTS의 중성화 여부는 Spayed Female or Spayed Male or Neutered Female or Neutered Male 이 되어야 한다 그러므로 LIke문을 사용해서 Fam..

SQL 2024.09.20

[오라클] 오랜 기간 보호한 동물(1) ROWNUM 사용하기

출처 : https://school.programmers.co.kr/learn/courses/30/lessons/59044 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이 방법ANIMAL_INS에는 있고 ANIMAL_OUTS는 없어야 하므로 left join을 사용한다.그 후 DATETIME기준으로 order 한 후 제일 위에서 3개를 택해야 하므로 ROWNUM문법을 사용해서 3개를 택한다.SELECT *FROM (SELECT a.NAME, a.DATETIME FROM ANIMAL_INS a LEFT JOIN ANIMAL_OUTS b ON a.AN..

SQL 2024.09.19