본문 바로가기

DB/Programmers SQL Kit

경기도에 위치한 식품창고 목록 출력하기 https://school.programmers.co.kr/learn/courses/30/lessons/131114 - FOOD_WAREHOUSE 테이블에서 창고의 ID, 이름, 주소, 냉동시설 여부를 조회한다. 단, 냉동시설 여부가 null일 경우 N으로 출력하고 창고 ID 기준 오름차순 정렬한다. 1. IFNULL, NVL을 사용해 냉동시설 여부 NULL을 N 처리를 해준다. 2. LIKE키워드를 사용해 경기에 위치한 창고만 출력한다. - SQL mysql : SELECT warehouse_id, warehouse_name, address, IFNULL(freezer_yn, 'N') freezer_yn FROM FOOD_WAREHOUSE WHERE address LIKE '%경기%' ORDER BY .. 더보기
중복 제거하기 https://school.programmers.co.kr/learn/courses/30/lessons/59408 - ANIMAL_INS 테이블의 동물 이름 수를 조회한다. 단, 이름이 null 일 경우는 제외하며, 중복은 하나로 친다. 1. distinct를 사용해 중복을 제거한다. 2. name에 count를 사용한다. - SQL SELECT count(name) FROM ( SELECT distinct name FROM ANIMAL_INS ) distinct_name 더보기
동물 수 구하기 https://school.programmers.co.kr/learn/courses/30/lessons/59406 - ANIMAL_INS 테이블에서 동물의 수를 조회한다. 1. count 를 활용한다. - SQL SELECT count(*) FROM ANIMAL_INS; 더보기
최솟값 구하기 https://school.programmers.co.kr/learn/courses/30/lessons/59038 - ANIMAL_INS 테이블의 동물의 보호시작일을 조회한다 단, 보호 시작일 기준 가장 먼저 들어온 동물을 조회한다. 1. 보호시작일에 MIN()함수를 사용한다. - SQL SELECT MIN(datetime) FROM ANIMAL_INS; 더보기
최댓값 구하기 https://school.programmers.co.kr/learn/courses/30/lessons/59415 - ANIMAL_INS 테이블의 동물의 보호 시작일을 출력한다. 단, 보호 시작일 기준 가장 최근에 들어온 동물을 조회한다. 1. 보호 시작일 기준 MAX()를 사용한다. - SQL SELECT MAX(datetime) FROM ANIMAL_INS; 더보기
가장 비싼 상품 구하기 https://school.programmers.co.kr/learn/courses/30/lessons/131697 - PRODUCT 테이블의 상품을 출력한다. 단, 가장 높은 판매가를 기록한 하나를 출력한다. 컬럼명은 MAX_PRICE로 출력한다. 1. PRICE 기준 MAX()를 사용한다. - SQL SELECT MAX(price) MAX_PRICE FROM PRODUCT 더보기
가격이 제일 비싼 식품의 정보 출력하기 https://school.programmers.co.kr/learn/courses/30/lessons/131115 - FOOD_PRODUCT 테이블에서 식품의 ID, 이름, 식품코드, 분류, 가격을 출력한다. 단, 가장 비싼 식품 하나만 출력한다. 1. 가격 기준 내림차순으로 정렬한 테이블을 조회한다. 2. 조회한 테이블을 기준으로 rownum, limit를 사용해 상위 1개만 출력한다. - SQL mysql : SELECT * FROM ( SELECT * FROM FOOD_PRODUCT ORDER BY price DESC ) as price_order limit 1; oracle : SELECT * FROM ( SELECT * FROM FOOD_PRODUCT ORDER BY price DESC ) p.. 더보기
조건에 맞는 회원수 구하기 https://school.programmers.co.kr/learn/courses/30/lessons/131535 - USER_INFO 테이블에서 회원 수를 출력한다. 단, 2021년 가입자이고 20대 인 회원만 카운트 한다. - SQL mysql : SELECT count(*) as USERS FROM user_info WHERE DATE_FORMAT(joined, '%Y') = '2021' AND age between 20 AND 29; oracle : SELECT count(*) USERS FROM user_info WHERE TO_CHAR(joined, 'yyyy') = '2021' AND age between 20 AND 29; 더보기