문제 풀이 📌 SELECT MEMBER_ID, MEMBER_NAME, GENDER, DATE_FORMAT(DATE_OF_BIRTH, '%Y-%m-%d') AS DATE_OF_BIRTH DATE_FORMAT : DATE형식 정해주기 AS DATE_OF_BIRTH : 열이름은 DATE_OF_BIRTH로 지정 ➕ DATE_FORMAT 참고 링크 📌 FROM MEMBER_PROFILE MEMBER_PROFILE 테이블에서 📌 WHERE TLNO IS NOT NULL AND GENDER = 'W' AND MONTH(DATE_OF_BIRTH)=3 TLNO IS NOT NULL : TLNO 은 NULL이 아닌 것만 MONTH(DATE_OF_BIRTH)=3 : 3월 인것만 📌 ORDER BY MEMBER_ID; MEM..
알고리즘/SQL 풀이
문제 풀이 📌 SELECT TRUNCATE(PRICE, -4) AS PRICE_GROUP, COUNT(PRODUCT_ID) AS PRODUCTS PRICE에서 -4(4자리까지는 모두 0)으로 값을 만든다. 이 값의 열의 이름은 PRICE_GROUP이다. #1 PRODUCT_ID의 개수를 센다. 이 값의 열의 이름은 PRODUCTS이다. TRUNCATE(값, 자릿수) '자릿수'까지 숫자를 아래로 버린다(0이 된다). 반드시 버릴 자릿수를 명시해줘야 한다. TRUNCATE(1234.5678, 3) // 1234.567 TRUNCATE(1234.5678, 1) // 1234.5 TRUNCATE(1234.5678, -1) // 1230 TRUNCATE(1234.5678, -3) // 1000 TRUNCATE(1..
문제 풀이 📌 SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE ANIMAL_ID, NAME, SEX_UPON_INTAKE열을 보겠다. 📌 FROM ANIMAL_INS ANIMAL_INS테이블에서 📌 WHERE NAME IN('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty') NAME열에서 'Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty'와 같은 것만 보겠다. WHERE IN WHERE IN 절은 주어진 값 집합 중 하나와 일치하는 레코드를 검색하고, 여러 값을 검색할 때 유용 SELECT column1, column2, ... FROM table_name WHERE column_name I..
문제 풀이 📌 SELECT INGREDIENT_TYPE, SUM(TOTAL_ORDER) INGREDIENT_TYPE와 SUM(TOTAL_ORDER)를 보겠다. 📌 FROM ICECREAM_INFO AS I ICECREAM_INFO 을 기준으로 ICECREAM_INFO테이블을 I라고 줄여 말하겠다. 📌 JOIN FIRST_HALF AS F ON F.FLAVOR = I.FLAVOR FIRST_HALF테이블과 합치겠다. 이것은 F로 줄여 말하겠다. F테이블의 FLAVOR와 I테이블의 FLAVOR을 기준으로 합치겠다. 📌 GROUP BY INGREDIENT_TYPE SUM(TOTAL_ORDER)를 GROUP BY INGREDIENT_TYPE 기준으로 합계를 내겠다. 정답 SELECT INGREDIENT_TYPE..
문제 풀이 📌 SELECT CAR_TYPE, COUNT(*) AS CARS CAR_TYPE, 결과값 개수의 별칭은 CARS 📌 FROM CAR_RENTAL_COMPANY_CAR CAR_RENTAL_COMPANY_CAR 테이블에서 📌 WHERE OPTIONS LIKE '%통풍시트%' OR OPTIONS LIKE '%열선시트%' OR OPTIONS LIKE '%가죽시트% LIKE '%옵션%' 옵션이라는 말이 들어가면 해당. 옵션 중 하나 이상만 포함하면 되기 때문에 OR. ※ WHERE OPTIONS IN ('통풍시트', '열선시트', '가죽시트')가 오답인 이유 위 코드는 옵션으로 통풍시트만 있거나, 열선시트만 있거나, 가죽시트만 있어야 그 결과값이 나옵니다. 즉, 차량 옵션으로 '통풍시트', '네비게이션..
문제 풀이 📌 SELECT PRODUCT_CODE, SUM(P.PRICE * O.SALES_AMOUNT) AS SALES PRODUCT테이블의 PRICE(가격)와 OFFLINE_SALE테이블의 SALES_AMOUNT(판매량)을 곱한 것을 열 이름 SALES로 만든다. 📌 FROM PRODUCT AS P PRODUCT 는 별칭 P라고 부른다. 📌 INNER JOIN OFFLINE_SALE AS O ON O.PRODUCT_ID = P.PRODUCT_ID PRODUCT_ID을 기준으로 OFFLINE_SALE테이블과 PRODUCT 테이블의 공집합 INNER JOIN을 JOIN이라고만 써도 INNER JOIN으로 인식. 🟢🟡🟠 JOIN https://hongong.hanbit.co.kr/sql-%EA%B8%B0%..
문제 풀이 📌 #1 SELECT MCDP_CD AS '진료과코드', COUNT(*) AS '5월 예약건수' MCDP_CD의 열 이름은 '진료과코드', 보여지는 거 개수를 다 셈.. 열 여름은 5월 예약건수' 📌 #2 FROM APPOINTMENT APPOINTMENT 테이블에서 📌 #3 WHERE DATE_FORMAT(APNT_YMD,'%Y-%m') = '2022-05' APNT_YMD의 2022년 5월만 출력 DATE_FORMAT 형식 참고링크 https://sesam-dev.tistory.com/61 📌 #4 GROUP BY MCDP_CD MCDP_CD별 그룹화 #1에서 MCDP_CD별 개수를 세기 위해서 📌 #5 ORDER BY COUNT(MCDP_CD) ASC, MCDP_CD ASC COUNT(M..
문제 풀이 📌 #1 SELECT DATE_FORMAT(DATETIME, '%H') AS HOUR, COUNT(ANIMAL_ID) AS COUNT '%H' : 24시간 형식으로 표시 COUNT(ANIMAL_ID) : ANIMAL_ID의 개수를 셈. 이전 다른 풀이 참고( DATE_FORMAT으로 형식 ) : https://sesam-dev.tistory.com/55 📌#2 FROM ANIMAL_OUTS ANIMAL_OUTS 테이블에서 📌#3 WHERE DATE_FORMAT(DATETIME, '%H') BETWEEN 09 AND 19 DATE_FORMAT(DATETIME, '%H') : DATETIME를 24시간 형식으로 표기 BETWEEN 09 AND 19 : DATETIME의 시간은 09에서 19사이 📌..
문제 풀이 📌 #1 SELECT LEFT(PRODUCT_CODE, 2) AS CATEGORY, PRODUCT_CODE 왼쪽 2글자만, 열 이름은 CATEGORY 📌 #2 COUNT(PRODUCT_ID) AS PRODUCTS PRODUCT_ID의 개수를 센다. 열 이름은 PRODUCTS 📌 #3 FROM PRODUCT PRODUCT 테이블에서 📌 #4 GROUP BY CATEGORY CATEGORY별로 그룹을 묶는다. #2을 CATEGORY별로 묶어서 개수를 표시하기 위해.. 📌 #5 ORDER BY CATEGORY CATEGORY를 오름차순으로 정렬 정답 SELECT LEFT(PRODUCT_CODE, 2) AS CATEGORY, COUNT(PRODUCT_ID) AS PRODUCTS FROM PRODUCT..
문제 풀이 📌#1 SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE) AS count ANIMAL_TYPE을 COUNT하겠다. 결과값의 별칭은 count로 하겠다. 📌#2 FROM ANIMAL_INS ANIMAL_INS 테이블에서 📌#3 GROUP BY ANIMAL_TYPE ANIMAL_TYPE 을 기준으로 그룹화. #1의 COUNT를 ANIMAL_TYPE기준으로 하기 위해서 📌#4 ORDER BY ANIMAL_TYPE 문제 : 고양이를 개보다 먼저 조회해주세요. ANIMAL_TYPE을 기준으로 정렬. 고양이를 먼저 조회하기 위해 정답 SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE) AS count FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ..