데이터 공부하기
-
[MySQL] 문법 총정리데이터 공부하기 2022. 8. 29. 23:33
[1주차 문법 정리] Where Where 절은, Select 쿼리문으로 가져올 데이터에 조건을 걸어주는 것을 의미해요. select * from orders where payment_method = "kakaopay"; 예1) orders 테이블에서 결제수단이 카카오페이인 데이터만 가져와줘! 예2) point_users 테이블에서 포인트가 5000점 이상인 데이터만 가져와줘! 예3) orders 테이블에서 주문한 강의가 앱개발 종합반이면서, 결제수단이 카드인 데이터만 가져와줘! != 같지 않음 select * from orders where payment_method != 'CARD'; 결제수단이 CARD가 아닌 주문데이터만 추출 between 범위 select * from orders where cr..
-
[MySQL] 실전 유용 문법 - Case데이터 공부하기 2022. 8. 29. 23:26
CASE는 경우에 따라 원하는 값을 새 필드에 출력해볼때 사용한다 예시 코드 10000점보다 높은 포인트를 가지고 있으면 '잘 하고 있어요!', 평균보다 낮으면 '조금 더 달려주세요!' 라고 표시해 주려면 어떻게 해야할까요? select pu.point_user_id, pu.point, (case when pu.point > 10000 then '잘 하고 있어요!' else '조금 더 달려주세요!' END) as 구분 Subquery를 이용하면 통계를 낼 수 있음 기본 Subquery 사용! with절로 정리! select pu.point_user_id, pu.point, case when pu.point > 10000 then '1만 이상' when pu.point > 5000 then '5천 이상' ..
-
[MySQL] 실전 유용 문법 - 문자열데이터 공부하기 2022. 8. 29. 23:11
문법 설명 활용예시 SUBSTRING_INDEX 이메일 주소에서 @앞의 아이디만 가져오거나, @뒤의 이메일 도메인을 가져오고 싶을때 @앞에 아이디만 select user_id, email, SUBSTRING_INDEX(email, '@', 1) from users @뒤의 이메일만 select user_id, email, SUBSTRING_INDEX(email, '@', -1) from users SUBSTRING orders 테이블에서 created_at을 날짜까지만 출력하고 싶을때 select order_no, created_at, substring(created_at,1,10) as date from orders *1 = 시작 포인트 *10 = 짜르고 싶은 포인트
-
[MySQL] 'with 절' in Subquery데이터 공부하기 2022. 8. 29. 23:01
Subquery문을 활용할때 With 절을 사용하면 더 깔끔하게 작성을 할 수 있다. 1. 이런 코드가 있다고 가정하자 select c.title, a.cnt_checkins, b.cnt_total, (a.cnt_checkins/b.cnt_total) as ratio from ( select course_id, count(distinct(user_id)) as cnt_checkins from checkins group by course_id ) a inner join ( select course_id, count(*) as cnt_total from orders group by course_id ) b on a.course_id = b.course_id inner join courses c on a.co..
-
[MySQL] 수업 4주차 - Subquery데이터 공부하기 2022. 8. 29. 22:47
[목차] Subquery(서브쿼리) 실전 SQL 문법 Subquery - 하나의 SQL 쿼리 안에 또다른 SQL 쿼리가 있는 것을 의미합니다. 예시 1. kakaopay로 결제한 유저들의 정보 보기 (기본) 예시 2. 1. kakaopay로 결제한 유저들의 정보 보기 (서브쿼리 사용) 이렇게 Tab을 활용해서 쿼리문 안에 쿼리문을 넣는 구조가 서브쿼리다. *주의 ( ) 사용을 잘해야지 나중에 위치를 헷갈리지 않는다! Subquery 활용 Top3 - where, select, from 1. Where 카카오페이로 결제한 주문건 유저들만, 유저 테이블에서 출력해주고 싶을 때 select * from users u where u.user_id in (select o.user_id from orders o w..
-
[MySQL] 수업 3주차 - Join데이터 공부하기 2022. 8. 8. 23:10
[수업 목표] 여러 테이블의 정보를 연결하는 Join을 이해한다. 연결된 정보를 바탕으로 보다 풍부한 데이터분석을 연습한다. 아래 위로 결과를 연결하는 Union을 공부한다. Join이란? 두 테이블의 공통된 정보 (key값)를 기준으로 테이블을 연결해서 한 테이블처럼 보는 것을 의미해요. 예) user_id 필드를 기준으로 users 테이블과 orders 테이블을 연결해서 한 눈에 보고 싶어요! 위의 예시와 같이, 두 테이블의 정보를 연결해서 함께 보고싶을 때가 있겠죠? 그럴 때를 대비해서 무언가 연결된 정보가 있을 때, user_id 처럼 동일한 이름과 정보가 담긴 필드를 두 테이블에 똑같이 담아놓는답니다. 이런 필드를 두 테이블을 연결시켜주는 열쇠라는 의미로 'key'라고 불러요. Join의 종류:..
-
[MySQL] SQL 중요 문법, 별칭 기능 Alias데이터 공부하기 2022. 8. 1. 22:27
쿼리가 점점 길어지면서 종종 헷갈리는 일이 생길 수 있습니다. 그래서 SQL은 Alias라는 별칭 기능을 지원합니다. [Course_title이 어느 테이블을 의미하는거지?] 별칭을 줄 수 있음 - a,b,c ... 등 원하는대로 보통 알파벳 1글자 또는 2글자로 별칭을 설정함 아래 사진과 같이 orders 테이블을 o로 지정하고, o.course_title을 orders 테이블의 course_title로 별칭을 붙힘! 필드명이 count(*)로 나오니까 보기 지저분함 as ~ OO로 해당 필드명을 수정할 수 있음!
-
[MySQL] 수업 2주차 - Group by, Order by, Where데이터 공부하기 2022. 8. 1. 22:04
[1주차 수업 목표] 동일한 범주의 데이터를 묶어서 통계를 내주는 Group by를 이해한다. (count(*)을 가장 많이 활용함!) 출력하는 데이터를 필드의 값으로 정렬하여 출력하는 Order by를 익힌다. 조금 더 복잡한 분석을 위해 자주 사용되는 유용한 문법을 익힌다. [범주의 통계를 내주는 Group by] Group by 적는 순서: 1. select * from users group by name 먼저 : users 테이블에서 name을 묶어서 보여줘 2. name, count(*) 추가 : users 테이블에서 name으로 묶은걸 count해서 보여줘 [깔끔한 정렬이 필요할 땐? Order by] select name, count(*) from users group by name orde..