[Tools] 44

[MySQL] QCC 1회차

DBeaver 환경에서 수강생들이 1시간 동안 주어진 문제를 푸는 방식으로 QCC 시험을 진행하였다.총 2 문제이고 난이도는 중하? 정도 되는 듯 하였다. "실제 입사 전형 중 SQL 코드 테스트와 최대한 유사하게 설계하였고 수강생들이 추후에 시험을 치룰 때 잘 적응 할 수 있도록 환경을 경험해 보는 것이 목적입니다." 일단, 문제에서 주어지는 사용될 테이블은 크게 4 가지(1) Sales_SalesOrderHeader(2) Sales_SalesOrderDetail(3) Sales_Customer(4) Person_Person ERD는 아래와 같다. [문제 1]당신은 마케팅 팀의 일원으로서, 최근에 진행된 이메일 프로모션 캠페인에 관심이 있습니다. 해당 프로모션에 동의한 고객 수를 추산해야 합니다. 이메..

[MySQL] Recursive CTE 를 이용한 24시간 쪼개기

코딩테스트 연습 - 입양 시각 구하기(2) | 프로그래머스 스쿨 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 재귀적 CTE를 알아야 수월하게 풀 수 있는 문제, 이걸 모른다면 CASE WHEN을 대략 24번 쳐야한다.with recursive timeas ( select 0 as hour union all select hour + 1 from time where hour  자세한 내용은 아래 블로그를 다시 정독해 보자.[SQL] RECURSIVE CTE 이해하기 [SQL] RECURSIVE CTE 이해하기CTE란 무엇일까? 먼저,..

[NBcamp Python] ETC 파일 입출력 (glob, os, Split & Join)

# glob 함수를 이용한 파일 찾기# 현재 경로의 모든 파일을 찾기file_list1 = glob.glob('*')# 단일 파일 패턴으로 파일을 찾기file_list2 = glob.glob('drive')# 디렉토리 안의 모든 파일 찾기file_list3 = glob.glob('sample_data/*')# 특정 확장자를 가진 파일만 찾기file_list4 = glob.glob('sample_data/*.csv') # import os 를 이용한 파일/폴더 생성, 삭제, 경로 추출# 현재 작업 디렉토리 추출 (current working directory)import oscwd = os.getcwd()print(cwd)# 디렉토리 생성 / 폴더import osos.mkdir('sample_data/ne..

[NBcamp Python] ETC (F-string, 리스트 캄프리헨션, 람다)

# F-string / F-fomat의 최신 버전x = 10print(f"변수 x의 값은 {x}입니다.") # 리스트 캄프리헨션# 리스트 캄프리헨션, 기본적인 구조[표현식 for 항목 in iterable if 조건문]# 예시: 1부터 10까지의 숫자를 제곱한 리스트 생성squares = [x**2 for x in range(1, 11)]print(squares) # 출력: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]# 예시: 리스트에서 짝수만 선택하여 제곱한 리스트 생성even_squares = [x**2 for x in range(1, 11) if x % 2 == 0]print(even_squares) # 출력: [4, 16, 36, 64, 100]# 예시: 문자열 리스트..

[NBcamp Python] Function- Practical

# 전역변수 예시global_var = 10def global_example(): print("전역변수 접근:", global_var)global_example() # 출력: 전역변수 접근: 10# 지역변수 예시def local_example(): local_var = 20 print("지역변수 접근:", local_var)local_example() # 출력: 지역변수 접근: 20# 함수 내에서 전역변수를 수정하는 예시def modify_global(): global global_var global_var = 30 print("함수 내에서 수정된 전역변수:", global_var)modify_global() # 출력: 함수 내에서 수정된 전역변수: 30print("..

[NBcamp Python] Function - basic

# 함수 정의def greet(name): message = "Hello, " + name + "!" return messagegreeting = greet("Alice")print(greeting) # 출력: Hello, Alice!# 주어진 숫자 리스트 변수에서 평균 구하는 함수def calculate_mean(numbers): total = sum(numbers) mean = total / len(numbers) return meandata = [10, 20, 30, 40, 50]average = calculate_mean(data)print("평균:", average) # number 리스트 자료에서 max 값 호출def find_max(numbers): ..

[NBcamp Python] For

### 조건문을 짧게 쓸 경우x = 10result = "양의 짝수" if x > 0 and x % 2 == 0 else "음수 또는 0"print(result)### 1부터 시작하여 10 이전까지 2씩 증가하는 정수 시퀀스 생성for i in range(1, 10, 2): print(i, end=' ')# 출력: 1 3 5 7 9### 짝수만 출력for i in range(1, 11): if i % 2 == 0: print(i)### 3의 배수 출력for i in range(1, 101): if i % 3 == 0: print(i)### 리스트에서 짝수만 걸러내기 (2의 배수)numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]even_nu..

[MySQL] UNION 할 때 컬럼 개 수 맞추기

코딩테스트 연습 - 오프라인/온라인 판매 데이터 통합하기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr SELECT DATE_FORMAT(SALES_DATE, '%Y-%m-%d') AS SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNTFROM ONLINE_SALEWHERE LEFT(SALES_DATE, 7) = '2022-03'UNIONSELECT DATE_FORMAT(SALES_DATE, '%Y-%m-%d') AS SALES_DATE, PRODUCT_ID, NULL A..