본문 바로가기

전체 글74

내일배움캠프 71일차_여러번의 연산을 한 번의 SQL 문으로(Subquery) 일단, 지난 시간까지 배운 내용을 복습! #문자 변경 1. REPLACE : 지정한 문자를 다른 문자로 변경 2. SUBSTRING : 특정 문자만 추출 3. CONCAT : 여러 문자를 합하여 포맷팅 #조건문 1. IF : if(조건, 조건을 충족할 때, 조건을 충족하지 못할 때) 2. CASE WHEN END : case when 조건1 then 값(수식)1 when 조건2 then 값(수식)2 else 값(수식)3 end Subquery 가 필요한 경우는 크게 여러번의 연산을 수행해야 할 때, 조건문에 연산 결과를 사용해야 할 때, 조건에 Query 결과를 사용하고 싶을 때가 있다. Sub 라는 명칭에서 알 수 있듯이, Query 안에 sub 로 들어간 구문이라고 생각해주면된다. select col.. 2023. 11. 6.
내일배움캠프 70일차_SQL 실습이 곧 성과를 나타낸다 사실 함수 하나하나 배울때마다 들었던 생각이 아 쉽네? ^^ 이거였는데 막상 함수들 다 종합해서 활용하고 어떤 데이터를 뽑을때 어떤 함수를 사용해야 하고 구문을 만들지 생각하니 참으로 어렵다는 것을 느낀다. 그래도 몇회 반복하면 이해 더 될듯 학습목표: 조건문을 이용하여 다른 수식을 적용해보기 실습: 지역과 배달시간을 기반으로 배달수수료 구하기 (식당 이름, 주문 번호 함께 출력) (지역 : 서울, 기타 - 서울일 때는 수수료 계산 * 1.1, 기타일 때는 곱하는 값 없음 시간 : 25분, 30분 - 25분 초과하면 음식 가격의 5%, 30분 초과하면 음식 가격의 10%) select restaurant_name, order_id, delivery_time, price, addr, case when de.. 2023. 11. 6.
내일배움캠프 69일차_SQL로 User Segmentation 학습목표: 새로운 카테고리 만들기 - 조건문과 수식을 이용하여 간단한 User Segmentation 을 해봅시다 [실습] 10세 이상, 30세 미만의 고객의 나이와 성별로 그룹 나누기 (이름도 같이 출력) select name, age, gender, case when (age between 10 and 19) and gender='male' then "10대 남자" when (age between 10 and 19) and gender='female' then "10대 여자" when (age between 20 and 29) and gender='male' then "20대 남자" when (age between 20 and 29) and gender='female' then "20대 여자" whe.. 2023. 11. 6.
내일배움캠프 68일차_SQL_IF, CASE 배우기 04. 조건에 따라 포맷을 다르게 변경해야 한다면 (IF, CASE) 학습 목표: 조건에 따라 다른 연산을 하는 방법을 알아봅시다 ’내가 원하는 범주’ 를 조건으로 주고, 해당 범주에 적용하고 싶은 것을 지정해 주는 방식이 가능하다. 조건에 따라 다른 방법을 적용하고 싶을 때 - 함수명: if if(조건, 조건을 충족할 때, 조건을 충족하지 못할 때) 실습1. 음식 타입을 ‘Korean’ 일 때는 ‘한식’, ‘Korean’ 이 아닌 경우에는 ‘기타’ 라고 지정 select restaurant_name, cuisine_type "원래 음식 타입", if(cuisine_type='Korean', '한식', '기타') "음식 타입" from food_orders 실습2. 조건을 여러가지 지정하고 싶을 때 - .. 2023. 11. 6.
내일배움캠프 67일차_SQL 문자데이터 바꾸고 GROUP BY 사용 학습 목표: 문자 데이터 변경과 Group by 절을 한 번에 사용해봅시다 결국, 정말 많은 실습을 해봐야만 한다. [실습] 서울 지역의 음식 타입별 평균 음식 주문금액 구하기 (출력 : ‘서울’, ‘타입’, ‘평균 금액’) 항상 해결하기 위한 방법은 머릿속으로 흐름정리, 구문으로 만들기, 그리고 전체 구조로 합치기를 생각해보면된다 차근차근 생각해보기 select substring(addr, 1, 2) "시도", cuisine_type "음식 종류", avg(price) "평균 금액" from food_orders where addr like '%서울%' group by 1, 2 SUBSTRING이 제일 어렵다고 느껴진다. 그리고 배운걸 한꺼번에 다 넣어서 활용하려니 이해하는데 시간이 걸린다. 그래도 파.. 2023. 11. 6.
내일배움캠프 66일차_SQL 배울때 필요한 프로그램 설치 감사하게도 SQL을 배울 수 있게 되었다. 스파르타코딩클럽을 통해서 진짜 그동안 배워보고 싶었던 개발자며 데이터 분석이며 다 받아보는구나 ㅜㅜ 초초초 초기초인 나도 강의를 듣다보면 이해가된다. SQL을 배우기 전에 앞서 무조건 설치해야 하는 사이트는 아래와 같다. https://dbeaver.io/ DBeaver Community | Free Universal Database Tool DBeaver Universal Database Tool DBeaver Community is a free cross-platform database tool for developers, database administrators, analysts, and everyone working with data. It suppor.. 2023. 11. 3.
내일배움캠프 65일차_SQL로 가공하기 언제나 시작은 복습 ^^ #SQL 문의 기본 구조 select from where group by order by #주문 테이블에서 → from #주문 수량이 1건인 주문건의 → where #음식 가격의 평균을 음식 종류별로 조회하여 → avg, group by #음식 가격이 높은 순서대로 정렬하기 → order by 이번 주차에서는 실제로 업무에 사용할 수 있게 문자데이터를 다듬고 조건별로 다르게 계산할 수 있고 쿼리문을 데이터베이스에 연결해서 사용하면서 오류 확인하기 등등 디테일 배울수있다 02. 업무 필요한 문자 포맷이 다를 때, SQL 로 가공하기 (REPLACE, SUBSTRING, CONCAT) 데이터를 조회하다보면 Query 결과를 그대로 이용하지 못하는 경우가 생긴다. 예를 들어, 저는 주.. 2023. 11. 3.
내일배움캠프 64일차_WHERE, GROUP BY, ORDER BY 로 완성되는 SQL 구조 지금까지 아주 기본적이고 필수적인 SQL 기본 문을 배웠다. 이제부터 이 기본틀을 토대로 아름답게 쿼리문을 다 이해해볼수있다. 아래는 기본 순서이니 외울것. select from where group by order by 실습 음식 종류별 가장 높은 주문 금액과 가장 낮은 주문금액을 조회하고, 가장 낮은 주문금액 순으로 (내림차순) 정렬하기 select cuisine_type, min(price) min_price, max(price) max_price from food_orders group by cuisine_type order by min(price) desc 2023. 11. 3.