본문 바로가기

허씨의 편람/자기개발

[개발일지] 마케터 실무 활용을 위한 왕초보 SQL 2편 (조건 논리 연산자, 정렬 중복제거) 오늘은 현업 마케터가 입문용으로 알면 좋은 SQL 문법 정리 모음집을 소개드리려고 합니다!  조건 및 논리 연산자=값이 같은 경우WHERE 나이 = 18> / 값이 크거나 작은 경우WHERE 나이 > 17>= / 값이 크거나 같거나 작은 경우WHERE 나이 >= 17 또는 !=값이 다른 경우WHERE 나이 != 17AND조건이 모두 참인 경우WHERE 나이 > 17 AND 학년 = 3OR조건 중 하나라도 참인 경우WHERE 나이 = 17 OR 학년 = 2BETWEEN특정 범위에 포함되는 경우WHERE 나이 BETWEEN 16 AND 18IN값 중 하나와 일치하는 경우WHERE 학년 IN (1, 2, 3)LIKE특정 패턴과 일치하는 경우 (문자열 검색)WHERE 이름 LIKE '철%' (철로 시작)NOT조.. 더보기
[개발일지] SQL 입문_4주차_총정리 1. SELECT(FROM), WHERE 1) SELECT 쿼리문: '데이터를 선택해서 가져오겠다 ' → 추출하고 싶은 필드를 정하겠다 -쿼리문의 구성: ① 어떤 테이블에서(FROM), ②어떤 필드의 데이터를 가져올지(SELECT) 2) WHERE 쿼리문: SELECT 쿼리문으로 가져올 데이터의 조건을 걸어주는 것 ⁕여러 조건은 and로 연결해준다! -예1) orders 테이블에서 결제수단이 카카오페이인 데이터만 가져와줘 -예2) point_users 테이블에서 포인트가 5000점 이상인 데이터만 가져와줘 ▶예1) SELECT * FROM orders where payment_method = 'kakaopay' 3) WHERE 쿼리문 활용법 -단일 값 조건만 추출: WHERE payment_method .. 더보기
[개발일지] SQL 입문 4주차-3 1. QUIZ 1-1. 평균 이상 포인트를 가지고 있으면 '잘하고 있어요' / 낮으면 '열심히 합시다!' 표시하기! SELECT pu.user_id, pu.point, (CASE when pu.point > (select avg(point) from point_users) then '잘하고있어요' else '조금 더 화이팅!' end) as msg FROM point_users pu 1-2. 이메일 도메인별 유저의 수 세어보기 1) subquery 미활용 SELECT SUBSTRING_INDEX(u.email,'@',-1) as domain, count(*) as cnt_domain FROM users u group by domain 2) subquery 활용 SELECT domain, count(*) .. 더보기
[개발일지] SQL 입문_4주차-2 1. FROM 절에 Subquery 활용하기 ⁕잊지말자! FROM은 테이블을 불러오고, SELECT는 필드를 정한다 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(distinct(user_id)) as cnt_total FROM orders group by course_id ) b on a.course_id = b.course_id inner JOIN cou.. 더보기
[개발일지] SQL 입문_4주차 1. Subquery 개념 익히기 : Subquery란 SELECT, FROM, WHERE 절 하위의 작은 쿼리 → 실행순서는 Subquery 돌리고 큰 Main query 순으로 진행된다 2. Where절의 Subquery : Where 필드명 in (subquery) → Where은 조건문, Subquery의 결과를 조건에 활용하는 방식으로 활용 ⁕Subquery의 user_id 메인 query의 user_id 안에 있니? (Where절로 조건 형성) 2-1) inner join을 활용한 기본 구문 SELECT u.user_id , u.name , u.email FROM users u inner join orders o on u.user_id = o.user_id WHERE o.payment_meth.. 더보기
[개발일지] SQL 입문_3주차 1. Left Join A 테이블에 B 테이블을 붙이는 것 A 테이블 필드에 해당하는 B 테이블 필드 값이 없으면 NULL로 표기된다! 2. Inner Join A 테이블과 B 테이블에 교집합인 필드만 붙이는 것 NULL값이 따로 없고 값이 존재하는 필드/값만 붙여진다 3. Union SQL내에서 서로 다르게 추출한 2개의 값을 묶어주는 것 ( Select * FROM users ~ ) UNION ALL ( Select * FROM orders ~ ) 4. 추가 문법 NULL: 값이 아니므로 Count 함수로 셀수 없다. → NULL값이 있는 필드를 세게되면, 필드 내 값만 세어진다 (COUNT) 복습! ~별: Group by 제한: Where Ex. 20.07.10 부터 20.07.19까지 가입된 고객.. 더보기
[개발일지] SQL 입문_2주차-1 1. Group by: 필드 그룹핑 해주는 문법 SELECT name, count(*) FROM users group by name ⁕햇갈릴 수 있으므로, 그룹핑하고 추출값 선정하는 방식으로 진행하자! 1) 그룹핑 진행 SELECT * FROM users group by name 2) SELECT로 추출값 선정 SELECT name, count(*) FROM users group by name 1-1. Group by 심화 1) 동일한 범주의 값 구하기 SELECT week, count(likes) FROM checkins group by week ▶Where 절로 검증 SLECT * FROM checkins where week = 1 2) 최소값 구하기: min() SELECT week, min(lik.. 더보기
[개발일지] 마케터 데이터 분석 실무 활용을 위한 왕초보 SQL 기초 공부 정리 1. SQL이란?• SQL(Structured Query Language): 데이터를 다루는 언어• 데이터베이스(Database)에서 데이터를 저장, 검색, 수정, 삭제하는 데 사용• 데이터베이스: 정보를 체계적으로 저장한 곳 (엑셀의 스프레드시트와 비슷), DB라고도 함.2. SQL 기본 개념• 테이블(Table): 데이터를 저장하는 기본 단위• 엑셀의 시트(sheet)와 비슷• 행(Row): 데이터를 한 줄씩 저장• 열(Column): 데이터의 속성(이름, 나이 등)• 컬럼(Column): 테이블의 각 열 (e.g., 이름, 나이)• 레코드(Record): 테이블의 각 행 (e.g., 철수의 정보)✔️예시 테이블: 학생(Student)*밑에 문법들 설명에서 계속 사용되는 테이블이에요!3. SQL 기본.. 더보기