목록프로그래머스 (118)
Welcome! Everything is fine.
📌 문제 📌 제출한 오답 처음에 다음과 같이 제출했는데 틀렸다. 상품과 제대로 매치되지 않고 최대값인 가격만 따로 출력되어 틀린 것이다. SELECT PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, MAX(PRICE) AS PRICE FROM FOOD_PRODUCT; 📌 정답 서브쿼리를 이용해 가격이 가장 비쌀 때 다른 정보들을 조회하도록 했다. 또한 테이블의 전체 열이 다 출력되기 때문에 일일히 적지 않고 *을 이용해 출력했다. SELECT * FROM FOOD_PRODUCT WHERE PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT); 다른 풀이도 봤는데, 아래 코드는 가격을 기준으로 내림차순으로 정렬한 후 제일 상단에 있는 데이터..
📌 문제 📌 제출한 오답 el% 라고 작성하면 el이 포함된 이름이 아닌 el로 시작하는 이름이 나온다. 또한 ANIMAL_TYPE이 'Dog'인 데이터를 조회해야하는데 모든 동물 타입을 조회했다. 문제를 꼼꼼히 읽자. SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE NAME LIKE 'el%' ORDER BY NAME; 📌 정답 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE NAME LIKE '%el%' AND ANIMAL_TYPE = 'Dog' ORDER BY NAME;
📌 문제 📌 제출한 오답 날짜 포맷을 예시와 동일하게 조회하지 않았고, 고용일자를 내림차순으로 조회하지 않았다. 날짜 포맷 사용하는 법을 잘 몰라 검색해서 해결했다. SELECT DR_NAME, DR_ID, MCDP_CD, HIRE_YMD FROM DOCTOR WHERE MCDP_CD = 'CS' OR MCDP_CD = 'GS' ORDER BY HIRE_YMD, DR_NAME; 📌 정답 처음에 제출한 오답과 같이 OR로 적어도 되지만, 다른 사람들의 풀이를 보니 IN으로 묶어 처리하는 것이 더 깔끔해보였다. SELECT DR_NAME, DR_ID, MCDP_CD, DATE_FORMAT(HIRE_YMD, '%Y-%m-%d') AS HIRE_YMD FROM DOCTOR WHERE MCDP_CD IN ('CS..
📌 문제 📌 정답 SELECT MAX(PRICE) AS MAX_PRICE FROM PRODUCT; 📌 기억할 것 집계함수 정리 AVG MIN MAX SUM COUNT
📌 문제 📌 정답 SELECT COUNT(USER_ID) AS USERS FROM USER_INFO WHERE AGE IS NULL;
📌 문제 📌 정답 SELECT NAME,COUNT(*) FROM ANIMAL_INS WHERE NAME IS NOT NULL GROUP BY NAME HAVING COUNT(*) >= 2 ORDER BY NAME; 📌 기억할 것 HAVING 절은 GROUP BY절 뒤에 온다. HAVING절은 그룹함수를 포함해야 한다.(문제에서는 COUNT가 그룹함수이다.)
📌 문제 📌 정답 SELECT FACTORY_ID, FACTORY_NAME, ADDRESS FROM FOOD_FACTORY WHERE ADDRESS LIKE '강원도%' ORDER BY FACTORY_ID; 📌 기억할 것 LIKE 연산자로 문자열 부분일치를 검색할 수 있다.