분류 전체보기
-
[SQL 프로그래머스 JOIN] 없어진 기록 찾기(ORACLE, MYSQL)<프로그래머스 고득점 SQL Kit> 2023. 5. 22. 18:29
없어진 기록 찾기 천재지변으로 인해 일부 데이터가 유실되었습니다. 입양을 간 기록은 있는데, 보호소에 들어온 기록이 없는 동물의 ID와 이름을 ID 순으로 조회하는 SQL문을 작성해주세요. -- MYSQL, ORACLE SELECT A.ANIMAL_ID, A.NAME FROM ANIMAL_OUTS A LEFT JOIN ANIMAL_INS B ON A.ANIMAL_ID = B.ANIMAL_ID WHERE B.DATETIME IS NULL ORDER BY A.ANIMAL_ID, A.NAME;
-
[SQL 프로그래머스 JOIN] 그룹별 조건에 맞는 식당 목록 출력하기 (ORACLE, MYSQL)<프로그래머스 고득점 SQL Kit> 2023. 5. 21. 13:06
그룹별 조건에 맞는 식당 목록 출력하기 MEMBER_PROFILE와 REST_REVIEW 테이블에서 리뷰를 가장 많이 작성한 회원의 리뷰들을 조회하는 SQL문을 작성해주세요. 회원 이름, 리뷰 텍스트, 리뷰 작성일이 출력되도록 작성해주시고, 결과는 리뷰 작성일을 기준으로 오름차순, 리뷰 작성일이 같다면 리뷰 텍스트를 기준으로 오름차순 정렬해주세요. -- MYSQL SELECT B.MEMBER_NAME, A.REVIEW_TEXT, DATE_FORMAT(A.REVIEW_DATE, '%Y-%m-%d') REVIEW_DATE FROM REST_REVIEW A LEFT JOIN MEMBER_PROFILE B USING (MEMBER_ID) WHERE MEMBER_ID = ( SELECT MEMBER_ID FROM..
-
[SQL 프로그래머스 JOIN] 5월 식품들의 총매출 조회하기<프로그래머스 고득점 SQL Kit> 2023. 5. 21. 13:06
5월 식품들의 총매출 조회하기 FOOD_PRODUCT와 FOOD_ORDER 테이블에서 생산일자가 2022년 5월인 식품들의 식품 ID, 식품 이름, 총매출을 조회하는 SQL문을 작성해주세요. 이때 결과는 총매출을 기준으로 내림차순 정렬해주시고 총매출이 같다면 식품 ID를 기준으로 오름차순 정렬해주세요. -- MYSQL SELECT P.PRODUCT_ID, P.PRODUCT_NAME, SUM(P.PRICE*O.AMOUNT) TOTAL_SALES FROM FOOD_PRODUCT AS P INNER JOIN FOOD_ORDER AS O ON P.PRODUCT_ID = O.PRODUCT_ID WHERE DATE_FORMAT(O.PRODUCE_DATE, '%m') = '05' GROUP BY P.PRODUCT_I..
-
[SQL 프로그래머스 JOIN] 상품을 구매한 회원 비율 구하기 (ORCALE, MYSQL)<프로그래머스 고득점 SQL Kit> 2023. 5. 17. 15:59
USER_INFO 테이블과 ONLINE_SALE 테이블에서 2021년에 가입한 전체 회원들 중 상품을 구매한 회원수와 상품을 구매한 회원의 비율(=2021년에 가입한 회원 중 상품을 구매한 회원수 / 2021년에 가입한 전체 회원 수)을 년, 월 별로 출력하는 SQL문을 작성해주세요. 상품을 구매한 회원의 비율은 소수점 두번째자리에서 반올림하고, 전체 결과는 년을 기준으로 오름차순 정렬해주시고 년이 같다면 월을 기준으로 오름차순 정렬해주세요. --mysql SELECT YEAR(SALES_DATE) as YEAR, MONTH(SALES_DATE) as MONTH, COUNT(DISTINCT(I.USER_ID)) as PUCHASED_USERS, ROUND(COUNT(DISTINCT(I.USER_ID)) ..
-
[SQL 프로그래머스 JOIN] 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 (ORCALE, MYSQL)<프로그래머스 고득점 SQL Kit> 2023. 5. 17. 15:54
CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블과 CAR_RENTAL_COMPANY_DISCOUNT_PLAN 테이블에서 자동차 종류가 '세단' 또는 'SUV' 인 자동차 중 2022년 11월 1일부터 2022년 11월 30일까지 대여 가능하고 30일간의 대여 금액이 50만원 이상 200만원 미만인 자동차에 대해서 자동차 ID, 자동차 종류, 대여 금액(컬럼명: FEE) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 대여 금액을 기준으로 내림차순 정렬하고, 대여 금액이 같은 경우 자동차 종류를 기준으로 오름차순 정렬, 자동차 종류까지 같은 경우 자동차 ID를 기준으로 내림차순 정렬해주세요. --MYSQL SELECT C.CAR_ID,..
-
join<프로그래머스 고득점 SQL Kit> 2023. 3. 28. 17:49
inner join, outer join, left join, right join nested loop join : 이중(or 중첩) for문 Nested loop join은 두 개의 테이블(크기가 작은 테이블 : outer table, 크기가 큰 테이블 : inner table) 중 하나를 기준으로 선택하고, 다른 테이블의 모든 행을 하나씩 가져와서 기준 테이블의 각 행과 비교합니다. 이렇게 비교하여 일치하는 결과가 나오면, 이를 결과 테이블에 추가합니다. 이 방법은 간단하지만, 대용량 데이터 집합을 처리할 때는 성능 문제가 발생할 수 있습니다. 예를 들어, 기준 테이블이 매우 크고 다른 테이블도 큰 경우, 모든 조인 작업을 수행하는 데 많은 시간이 소요될 수 있습니다. Table A: ID Name ..
-
MySQL, Oracle 비교<프로그래머스 고득점 SQL Kit> 2023. 3. 23. 16:10
MySQL과 Oracle은 모두 관계형 데이터베이스 관리 시스템(RDBMS)으로, SQL을 사용하여 데이터를 관리합니다. 하지만 MySQL과 Oracle은 몇 가지 차이점이 있습니다. 라이선스: MySQL은 GPL(General Public License) 또는 상용 라이선스로 이용이 가능하며, Oracle은 상용 라이선스만 이용이 가능합니다. 가격: MySQL은 오픈소스로 무료이며, 상용 라이선스도 비교적 저렴합니다. Oracle은 상용 라이선스가 비싸며, 비용 부담이 큽니다. 기능: Oracle은 기능이 매우 다양하며, 대규모의 데이터를 처리하는 데 효과적입니다. MySQL은 상대적으로 단순한 기능을 가지고 있으며, 대용량 데이터 처리에는 한계가 있습니다. 안정성: Oracle은 대용량 데이터 처리,..
-
데이터베이스의 종류?<프로그래머스 고득점 SQL Kit> 2023. 3. 23. 16:03
관계형 데이터베이스 (RDBMS) 관계형 데이터베이스는 테이블로 구성된 데이터베이스입니다. 테이블은 행과 열로 이루어져 있으며, 행은 레코드(Record)를, 열은 필드(Field)를 의미합니다. MySQL, Oracle, PostgreSQL, SQL Server 등이 대표적인 관계형 데이터베이스입니다. NoSQL 데이터베이스 NoSQL 데이터베이스는 관계형 데이터베이스와 달리 스키마가 없거나, 동적으로 생성됩니다. 데이터의 구조가 유연하며, 확장성과 가용성이 높습니다. MongoDB, Cassandra, Redis, Couchbase 등이 대표적인 NoSQL 데이터베이스입니다. 메모리 데이터베이스 메모리 데이터베이스는 메모리에 데이터를 저장하므로, 빠른 응답 시간을 보장합니다. 주로 실시간 데이터 처리..