TIL/Coding Study - SQL 10

[programmers] SQL 고득점 Kit - SELECT: 양식

문제: https://school.programmers.co.kr/learn/courses/30/lessons/59035풀이코드-- 코드를 입력하세요SELECT NAME, DATETIMEFROM ANIMAL_INS ORDER BY ANIMAL_ID DESC;느낀 점너무 오랜만에 푸니까 당황...스럽다... 쉬운 문제인데 정렬을 어떻게 하는지 까먹어버렸다. 그래서 SORT, SORTED를 치고 있었음..!!! ㅋㅋㅋ쿠ㅜㅜ문제에서 역순은 DESC를 나타내며 SQL에서 정렬은 ORDER BY !!

[programmers] SQL 고득점 Kit - SELECT: 조건에 맞는 도서 리스트 출력하기

문제: 조건에 맞는 도서 리스트 출력하기코딩테스트 연습 - 조건에 맞는 도서 리스트 출력하기 | 프로그래머스 스쿨풀이코드-- 코드를 입력하세요SELECT BOOK_ID, DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d') PUBLISHED_DATEFROM BOOKWHERE YEAR(PUBLISHED_DATE) = 2021 AND CATEGORY = '인문'ORDER BY PUBLISHED_DATE;느낀 점DATE_FORMAT 복습하기 ㅎㅎㅎ 난 금붕어 머리인가... 순간 헷갈렸다 이 쉬운 것을...DATE 형태의 열은 YEAR(컬럼) 으로 연도를 뽑아낼 수 있다는 걸 기억하면 쓸 데가 많을 것 같다!!

[programmers] SQL 고득점 Kit - SELECT: 12세 이하인 여자 환자 목록 출력하기

문제: 12세 이하인 여자 환자 목록 출력하기코딩테스트 연습 - 12세 이하인 여자 환자 목록 출력하기 | 프로그래머스 스쿨풀이코드-- 코드를 입력하세요SELECT PT_NAME, PT_NO, GEND_CD, AGE, IFNULL(TLNO, 'NONE') AS TLNOFROM PATIENT WHERE AGE 느낀 점문제를 제대로 안 읽고!!! '여자' 환자인데!! 뭐가 틀렸나 보고있었다... 문제를 제대로 읽고 그에 맞는 조건을 세웠는지 확인하는 게 필수!! IFNULL결측값일 경우 다르게 나타내는 데에 이용하는 함수는 IFNULL이다. IFNULL은 해당 Column의 값이 NULL을 반환할 때, 다른 값으로 출력할 수 있도록 하는 함수이다. IFNULL(컬럼, 대체할 값) COALESCE또 COALE..

[programmers] SQL 고득점 Kit - SELECT: 강원도에 위치한 생산공장 목록 출력하기

문제: 강원도에 위치한 생산공장 목록 출력하기코딩테스트 연습 - 강원도에 위치한 생산공장 목록 출력하기 | 프로그래머스 스쿨풀이코드-- 코드를 입력하세요SELECT FACTORY_ID, FACTORY_NAME, ADDRESSFROM FOOD_FACTORYWHERE ADDRESS LIKE '강원도%' ORDER BY FACTORY_ID;느낀 점LIKE는 많이 쓰이는 것 같다. 특히 LIKE 뒤에 %와 _가 쓰이는데 %는 모든 문자, _는 하나의 문자를 말한다.

[programmers] SQL 고득점 Kit - SELECT: 흉부외과 또는 일반외과 의사 목록 출력하기

문제: 흉부외과 또는 일반외과 의사 목록 출력하기코딩테스트 연습 - 흉부외과 또는 일반외과 의사 목록 출력하기 | 프로그래머스 스쿨풀이코드-- 코드를 입력하세요SELECT DR_NAME, DR_ID, MCDP_CD, DATE_FORMAT(HIRE_YMD, '%Y-%m-%d')FROM DOCTORWHERE MCDP_CD = 'CS' OR MCDP_CD = 'GS'ORDER BY HIRE_YMD DESC, DR_NAME느낀 점문제는 전체적으로 풀기 쉬웠지만 DATE_FORMAT 때문에 애를 먹긴 했다 ㅎㅎㅎ 날짜가 예시와 똑같이 나와야 한다는 조건이 중요한 조건이라고 생각하지 않고 있었는데 계속 틀려서 날짜를 봤더니 '2010-07-01 00:00:00' 이렇게 나와있었다. DATE 형인 이것을 시간을 다 ..

[programmers] SQL 고득점 Kit - SELECT: 인기있는 아이스크림

문제: 인기있는 아이스크림코딩테스트 연습 - 인기있는 아이스크림 | 프로그래머스 스쿨풀이코드-- 코드를 입력하세요SELECT FLAVORFROM FIRST_HALFORDER BY TOTAL_ORDER DESC, SHIPMENT_ID느낀 점쉽군!! 가끔 헷갈리는 건 정리를 해야겠다. 오른차순이 기본이야~~~ 내림차순이 써야하는 것!!!!!!!ASC: 기본. 안 적어도 됨 1, 2, 3, 4, ....DESC: 내림차순. 뭔가 내림차순? 적어야 할 것 같음 (스스로를 가스라이틩) 10, 9, 8, 7... 카운트 다운

[programmers] SQL 고득점 Kit - SELECT: 재구매가 일어난 상품과 회원 리스트 구하기

문제: 재구매가 일어난 상품과 회원 리스트 구하기코딩테스트 연습 - 재구매가 일어난 상품과 회원 리스트 구하기 | 프로그래머스 스쿨풀이코드-- 코드를 입력하세요SELECT USER_ID, PRODUCT_IDFROM ONLINE_SALEGROUP BY USER_ID, PRODUCT_IDHAVING COUNT(*) >= 2ORDER BY USER_ID, PRODUCT_ID DESC느낀 점어렵다!! 일단 동일한 회원이 동일한 상품을 재구매한 데이터를 구해야 하기 때문에 GROUP BY를 이용했다. 특정한 사람이 특정한 물건을 또 사야 하는 거니까 GROUP BY에 기준이 되는 열은  회원 ID와 상품 ID 둘 다여서 둘 다 넣어주고 그룹 바이 후 집계할 때 사용되는 HAVING 절을 사용해 이때 2개 이상 집..

[programmers] SQL 고득점 Kit - SELECT: 과일로 만든 아이스크림 고르기

문제: 과일로 만든 아이스크림 고르기 코딩테스트 연습 - 과일로 만든 아이스크림 고르기 | 프로그래머스 스쿨 풀이코드-- 코드를 입력하세요SELECT F.FLAVORFROM FIRST_HALF FJOIN ICECREAM_INFO I ON F .FLAVOR = I.FLAVOR WHERE F.TOTAL_ORDER > 3000 AND I.INGREDIENT_TYPE = 'fruit_based'ORDER BY F.TOTAL_ORDER DESC; 느낀 점일단 FLAVOR만 출력해야 하니까 SELECT에 FLAVOR라고 하고 여기에 2개의 테이블을 약자로 표시할 것이니 F.FLAVOR라고 표시한다. 그리고 기본키인 FLAVOR를 기준으로 JOIN한 후 조건에 맞게 WHERE 절을 채운다. 그런 후 큰 순서대로 정렬..

[programmers] SQL 고득점 Kit - SELECT: 평균 일일 대여 요금 구하기

문제: 평균 일일 대여 요금 구하기코딩테스트 연습 - 평균 일일 대여 요금 구하기 | 프로그래머스 스쿨풀이코드-- 코드를 입력하세요SELECT ROUND(AVG(DAILY_FEE),0) AS AVERAGE_FEEFROM CAR_RENTAL_COMPANY_CARWHERE CAR_TYPE = 'SUV';느낀 점- ROUND(컬럼 or 숫자, 소수점 자리 지정): 해당 자리에서 소수점 반올림  - 기본이 0이며 이때 소수점 첫째 자리에서 반올림해 INT를 만들어준다. - CEIL(): 올림 / FLOOR(): 버림 / TRUNC()- [원래 컬럼명] AS [바꿀 컬럼명]: 컬럼명 새로 만들고 싶을 때  SQL 다 까먹었다...맨날 까먹는 거 SQL 코드 끝나면 ; 꼭 붙이기!!! 맨날 까먹는다... 오늘부터 ..