반응형

전체 글 87

[MYSQL] PROGRAMMERS_조건에 맞는 사용자 정보 조회하기

SELECT USER_ID, NICKNAME, CONCAT(CITY,' ',STREET_ADDRESS1,' ',STREET_ADDRESS2) as 전체주소, CONCAT(left(TLNO,3),'-',mid(TLNO,4,4),'-',right(TLNO,4))전화번호 FROM USED_GOODS_BOARD as b, USED_GOODS_USER as u WHERE b.WRITER_ID = u.USER_ID GROUP BY 1 HAVING COUNT(USER_ID) >=3 ORDER BY 1 desc 문제 USED_GOODS_BOARD와 USED_GOODS_USER 테이블에서 중고 거래 게시물을 3건 이상 등록한 사용자의 사용자 ID, 닉네임, 전체주소, 전화번호를 조회하는 SQL문을 작성후 전체 주소는 시..

[MYSQL] PROGRAMMERS_없어진 기록 찾기

SELECT o.ANIMAL_ID, o.NAME FROM ANIMAL_INS as i right join ANIMAL_OUTS as o USING (ANIMAL_ID) WHERE 1=1 AND i.ANIMAL_ID IS NULL AND o.ANIMAL_ID IS NOT NULL ORDER BY 1 문제 입양을 간 기록은 있는데, 보호소에 들어온 기록이 없는 동물의 ID와 이름을 ID 순으로 조회하는 SQL문을 작성 입양을 간 기록은 있는데 보호소에 들어온 기록이 없는 동물이라면 ANIMAL_OUT의 데이터는 존재하되 ANIMAL_INS의 데이터는 없어야 한다. 원래는 위의 두 데이터가 완벽하게 일치하여 모든 부분이 핑크색이 되거나 ANIMAL OUT이 ANIMAL IN 안에 포함되어 있어야 정상이지만 데..

[MYSQL] PROGRAMMERS_즐겨찾기가 가장 많은 식당 정보 출력하기

WITH a as (select FOOD_TYPE, MAX(FAVORITES)as MX FROM REST_INFO GROUP BY 1) SELECT r.FOOD_TYPE, r.REST_ID, r.REST_NAME, r.FAVORITES FROM REST_INFO as r, a WHERE r.FOOD_TYPE = a.FOOD_TYPE AND r.FAVORITES= a.MX GROUP BY 1 ORDER BY 1 desc 문제 REST_INFO 테이블에서 음식종류별로 즐겨찾기수가 가장 많은 식당의 음식 종류, ID, 식당 이름, 즐겨찾기수를 조회하는 SQL문을 작성 후 결과는 음식 종류를 기준으로 내림차순 정렬 이문제 스트레스 좀 많이 받은 것 같습니다.. 일단 중점은 MAX의 사용, 그리고 서브쿼리의 사용..

[MYSQL] PROGRAMMERS_대여 기록이 존재하는 자동차 리스트 구하기

SELECT distinct c.CAR_ID FROM CAR_RENTAL_COMPANY_CAR as c, CAR_RENTAL_COMPANY_RENTAL_HISTORY as r WHERE c.CAR_ID = r.CAR_ID AND CAR_TYPE = '세단' AND month(START_DATE) = 10 order by 1 desc 문제 CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 자동차 종류가 '세단'인 자동차들 중 10월에 대여를 시작한 기록이 있는 자동차 ID 리스트를 출력하는 SQL문을 작성. 자동차 ID 리스트는 중복이 없어야 하며, 자동차 ID를 기준으로 내림차순 정렬 중점인 부분은 두 테이블의 조인, 차의 종류, 대..

[MYSQL] PROGRAMMERS_조건에 맞는 사용자와 총 거래금액 조회하기

SELECT USER_ID, NICKNAME, sum(PRICE)TOTAL_SALES FROM USED_GOODS_BOARD as b, USED_GOODS_USER as u WHERE b.WRITER_ID = u.USER_ID and STATUS = 'DONE' group by 1 having TOTAL_SALES >= 700000 order by 3 문제 USED_GOODS_BOARD와 USED_GOODS_USER 테이블에서 완료된 중고 거래의 총금액이 70만 원 이상인 사람의 회원 ID, 닉네임, 총거래금액을 조회하는 SQL문을 작성. 결과는 총거래금액을 기준으로 오름차순 정렬 뭔가 자꾸 빠져서 ?가 뇌리에 박힌 문제. STATUS가 DONE인게 판매 완료된 상품인지 한번더 설명이 필요 했던거 같긴한..

[MYSQL] PROGRAMMERS_오랜 기간 보호한 동물(2)

SELECT a.ANIMAL_ID, a.NAME FROM (SELECT o.ANIMAL_ID, o.NAME,datediff(o.DATETIME,i.DATETIME)+1 as datediff from ANIMAL_INS as i, ANIMAL_OUTS as o where i.ANIMAL_ID=o.ANIMAL_ID order by 3 desc limit 2 ) a 문제 입양을 간 동물 중, 보호 기간이 가장 길었던 동물 두 마리의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 기간이 긴 순으로 조회 순서는 보호기간 (입양일 - 보호소들어온 날짜)이 가장 긴 동물 두마리의 데이터를 조회하는 쿼리이다. 정렬은 해당데이터로 해야하는데 해당데이터는 쿼리에 보여선 안된다.. 그런 경우에는 서브쿼..

[MYSQL] PROGRAMMERS_있었는데요 없었습니다

SELECT i.ANIMAL_ID, i.NAME FROM ANIMAL_INS as i , ANIMAL_OUTS as o WHERE i.ANIMAL_ID = o.ANIMAL_ID AND i.DATETIME > o.DATETIME ORDER BY i.DATETIME 문제 보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회하는 SQL문을 작성. 이때 결과는 보호 시작일이 빠른 순으로 조회 보호시작일과 입양시작일을 잘 구분해야하는 문제이다.ANIMAL_INS에는 보호시작일이 ANIMAL_OUTS에는 입양시작일이 들어있어 해당 테이블을 키에 맞게(ANIMAL_ID) 조인 후 보호시작일과 입양 시작일을 필터링 해주어야한다. 어느 테이블인지 잘 구분해준 후 쓰면.. 끝이다. select 구문은 어차피 in..

[MYSQL] PROGRAMMERS_조건별로 분류하여 주문상태 출력하기

SELECT ORDER_ID, PRODUCT_ID, DATE_FORMAT(OUT_DATE,'%Y-%m-%d'), CASE WHEN DATE_FORMAT(OUT_DATE,'%m-%d') '05-01' then '출고대기' else '출고미정' end as 출고여부 FROM FOOD_ORDER WHERE 1=1 ORDER BY 1 ---2022년 밖에 데이터가 없어서 아래와 같이 해도 무방 SELECT ORDER_ID, PRODUCT_ID, DATE_FORMAT(OUT_DATE,'%Y-%m-%d'), CASE WHEN OUT_DATE '2022-05-01' then '출고대기' WHEN OUT_DATE IS NULL THEN '출고미정' end as 출고여부 FROM FOOD_ORDER WHERE 1=1 O..

[MYSQL] PROGRAMMERS_오랜 기간 보호한 동물(1)

SELECT i.NAME, i.DATETIME FROM ANIMAL_INS as i left join ANIMAL_OUTS as o USING(ANIMAL_ID) WHERE 1=1 AND o.ANIMAL_ID is NULL order by 2 limit 3 ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 종, 입양일, 이름, 성별 및 중성화 여부를 나타낸다. ANIMAL_OUTS 테이블의 ANIMAL_ID는 ANIMAL_INS의 ANIMAL_ID의 외래 키이다. 문제 아직 입양을 못 간 동물 중, 가장 오래 보호소에 있었던 동물 3마리의 이름과 보호 시작일을 조회하는 SQL문을 작성후 결과는 보호 시작일 순으로 조회 조심해..

[MYSQL] PROGRAMMERS_카테고리 별 도서 판매량 집계하기

SELECT CATEGORY, SUM(SALES)TOTAL_SALES FROM BOOK as b, BOOK_SALES as s where b.BOOK_ID=s.BOOK_ID AND SALES_DATE like '2022-01%' group by 1 order by 1 문제 2022년 1월의 카테고리 별 도서 판매량을 합산하고, 카테고리(CATEGORY), 총 판매량(TOTAL_SALES) 리스트를 출력하는 SQL문을 작성 결과는 카테고리명을 기준으로 오름차순 정렬 두개의 테이블을 각각 b와 s로 alias 명을 지정해 주고 공통된 컬럼인 BOOK_ID로 조인해 준다. 2022년 1월 데이터를 필요로 하니 like 조건 문으로 필터링 해준다 카테고리별 데이터가 필요하니 카테고리로 GROUPING 처리후 해..

반응형