2023/07 14

프로그래머스 Lv 4 - 입양 시각 구하기(2)

쉬울 줄 알았는데, 어려운 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/59413 습득한 점: 쉬운 줄 알았는데, 생각보다 어려운 문제였다. SET함수를 활용해 본적이 없었어서 그랬을 수도 있다. 풀이법을 외워버리면 될 것 같다. 이 문제를 통해 SET함수를 실제로 활용해 볼 수 있었음. 이 또한 With 구문으로 풀어볼려고 했지만, With 구문에 테이블 이름을 끌어옴을 명시하는데 있어서, 표기하기가 난해했다. (내가 아직 부족한 걸 수도!!) 문제: 문제: 0시부터 23시까지, 각 시간대 별로 입양이 총 몇 건 일어났는지 파악하는 쿼리 작성. 결과는 시간대순으로 정렬. 문제파악: 열심히 case구문으로 풀었는데, 답이 나오지 않아..

프로그래머스 Lv 3 - 2021 Dev-Matching: 웹 백엔드 개발자(상반기) 헤비 유저가 소유한 장소

링크: https://school.programmers.co.kr/learn/courses/30/lessons/77487 습득한 점: 실제 코테라고 쫄지마, Lv 1 수준이야 문제: 이 서비스에서는 공간을 둘 이상 등록한 사람을 "헤비 유저"라고 부름. 헤비 유저가 등록한 공간의 정보를 아이디 순으로 조회하는 쿼리 작성 문제파악: HOST_ID의 갯수가 2개 이상인 HOST_ID만 따로 뽑고, 원본데이터의 WHERE 조건절로 활용 풀이 -- 원하는 조건의 HOST_ID만 뽑은 뒤, 이를 원본데이터에 조건으로 넣기 # SELECT * # FROM PLACES # WHERE HOST_ID IN ( # SELECT HOST_ID # FROM PLACES # GROUP BY HOST_ID # HAVING COU..

프로그래머스 Lv 4 - 오프라인/온라인 판매 데이터 통합하기

링크: https://school.programmers.co.kr/learn/courses/30/lessons/131537 습득한 점: * 컬럼의 값을 NULL 로 표시해야 할 경우에는, 문자열 "NULL" 나타내는 것이 아닌 NULL 로만 기재 * UNION , UNION ALL? - UNION은 두 개의 테이블을 하나로 만드는 연산. 두 개 테이블의 컬럼 수, 컬럼 데이터 형식이 모두 일치해야 함. UNION 연산은 두 개의 테이블을 하나로 합치면서 중복된 데이터를 제거한다. 정렬을 발생 - UNION ALL은 중복을 제거하거나 정렬을 유발하지 않는다. 중복제거 없이 전부 보여줌 두 개 테이블의 컬럼 수가 같아야 하는 것은 동일 - Reference https://prinha.tistory.com/e..

고유값 만들기

언젠가 활용될 지 모를 sql 고유값 만들기 아마 LEFT, INNER 등 조인을 통해 테이블 변환이 필요할 때 활용할 수 있을 것 같다. CONCAT의 괄호 끝에 ' 넣어주고, 컬럼들 사이에 ,',', 넣어주면 끝이다. 전체 row갯수와 중복값을 제거한 row갯수가 같을 때만 활용해야한다. ex) SELECT ONLINE_SALE_ID ,USER_ID ,PRODUCT_ID ,SALES_AMOUNT ,concat(online_sale_id,',',user_id,',',PRODUCT_ID,',',SALES_AMOUNT) AS new FROM ONLINE_SALE 전체 row 갯수 122 새로운 컬럼 new가 생성되고, 문자열 조합으로 이루어진 값을 확인할 수 있다.