공부 20

[MySQL] WITH

MySQL에서 WITH 구문은 Common Table Expressions(CTEs)를 정의하는데 사용됩니다. CTE란 복잡한 쿼리를 단순화하기 위해 사용되는 일시적인 결과 집합으로, 쿼리 내에서 한 번 정의되면 쿼리의 다른 부분에서 재사용될 수 있습니다. WITH 구문을 사용하면 코드의 가독성과 유지 보수성이 향상되며, 복잡한 조인과 서브쿼리를 더 명확하게 표현할 수 있습니다. 기본 구조 WITH CTE이름 AS ( SELECT 쿼리 ) SELECT * FROM CTE이름; 예제 예를 들어, 직원 테이블에서 각 부서별로 최고 급여를 받는 직원의 정보를 찾는 쿼리를 작성한다고 가정해 봅시다. 이때 WITH 구문을 사용하여 CTE를 정의할 수 있습니다. WITH HighestSalaries AS ( SEL..

공부/MySQL 2024.04.23

[Python] swap

Python에서 변수의 값을 교환하는 것, 즉 'swap'에 대해 알아보았습니다. Python에서는 다른 프로그래밍 언어와는 다르게 매우 간단하고 직관적인 방법으로 두 변수의 값을 교환할 수 있습니다. 이는 Python의 튜플 할당 기능을 이용합니다. 기본적인 Swap 방법 두 변수 a와 b가 있다고 가정해 보겠습니다. a에는 값 10이, b에는 값 20이 저장되어 있다고 합시다. 이 두 변수의 값을 교환하고 싶을 때, Python에서는 다음과 같이 간단하게 할 수 있습니다. a = 10 b = 20 # a와 b의 값을 교환 a, b = b, a print("a:", a) # a: 20 print("b:", b) # b: 10 여기서 a, b = b, a는 사실상 튜플을 사용한 것입니다. Python은 ..

공부/Python 2024.04.17

[Python] for-else while-else

Python의 while-else와 for-else 구문에 대해 알아보겠습니다. 이 구문들은 다른 프로그래밍 언어에서 흔히 볼 수 없는, Python 특유의 기능입니다. 각각의 구문이 어떻게 작동하고, 어떤 상황에서 유용하게 사용될 수 있는지 설명하겠습니다. while-else 구문 Python에서 `while` 루프는 조건이 True인 동안 반복적으로 코드 블럭을 실행합니다. 그리고 `else`는 `while` 루프가 더 이상 실행할 조건이 없을 때, 즉 조건이 False가 되어 루프가 정상적으로 종료될 때 실행됩니다. 만약 루프 내에서 `break`를 사용해 루프를 강제로 종료한다면, `else` 블럭은 실행되지 않습니다. count = 0 while count < 3: print(f"Count: {..

공부/Python 2024.04.16

[MySQL] UNION ALL과 JOIN

MySQL에서 `UNION ALL` 명령어와 `JOIN` 연산의 차이점을 이해하는 것은 데이터 처리와 분석에 있어 매우 중요합니다. 이 두 연산의 기본 구조, 사용 예시, 주의사항 및 차이점에 대해 정리했습니다. UNION ALL 명령어 1. 기본 구조 UNION ALL은 여러 SQL 쿼리 결과를 하나의 결과 집합으로 결합할 때 사용됩니다. 중복을 허용하며, 중복 제거 과정으로 인한 성능 저하를 방지할 수 있습니다. SELECT column_name(s) FROM table1 UNION ALL SELECT column_name(s) FROM table2; 주의사항: 각 SELECT 문에서 선택하는 컬럼의 수와 데이터 타입이 일치해야 합니다. 2. 예시 employees 테이블과 contractors 테이..

공부/MySQL 2024.04.13

[MySQL] 셀프조인

셀프 조인(self join)은 MySQL에서 매우 유용한 기능으로, 테이블을 자기 자신과 조인하여 데이터를 조회하는 방법입니다. 한 테이블 내에서 관련된 데이터를 비교하거나, 계층적이거나 반복적인 데이터 구조를 쿼리하는 데 특히 유용합니다. 셀프 조인은 사실상 특별한 종류의 조인이 아니라, 동일한 테이블을 두 번 사용하는 일반 조인의 한 형태입니다. 1. 셀프 조인 사용 예 예를 들어, 직원과 그들의 관리자가 동일한 테이블에 저장되어 있는 경우를 생각해 보겠습니다. 이 테이블에는 각 직원의 ID, 이름, 그리고 그들의 관리자의 ID를 나타내는 매니저 ID가 포함되어 있습니다. 여기서 우리의 목표는 각 직원과 그들의 관리자의 이름을 함께 조회하는 것입니다. 2. 예제 테이블 구조 CREATE TABLE ..

공부/MySQL 2024.04.12

[MySQL] 재귀 쿼리

재귀 쿼리는 특정 규칙에 따라 반복해서 쿼리를 실행하여 그 결과를 합치는 방식으로, 계층형 데이터나 연결 리스트 등을 처리할 때 유용합니다. MySQL에서는 Common Table Expression(CTE)을 사용하여 재귀 쿼리를 구현할 수 있습니다. 이 기능은 MySQL 8.0 버전부터 지원됩니다. 1. CTE 기본 구조 CTE(Common Table Expression)는 WITH 절을 사용하여 정의됩니다. 재귀 쿼리를 작성하기 전에 CTE의 기본 구조를 이해하는 것이 중요합니다. WITH 임시테이블이름 AS ( -- 여기에 쿼리 작성 ) SELECT * FROM 임시테이블이름; 2. 재귀 CTE의 구조 재귀 CTE는 초기 쿼리(Anchor member)와 재귀적으로 실행될 쿼리(Recursive ..

공부/MySQL 2024.04.12

[데이터 분석] 시리즈, 데이터 프레임

필수 라이브러리 이름 판다스(Pandas) 데이터를 수집하고 정리하는데 최적화된 도구 Series(1차원)와 DataFrame(2차원) 제공 넘파이(Numpy) 맷플롯립(Matplotlib) 사이킷런(sckit-learn) 사이파이(Scipy) 시리즈 데이터가 순차적으로 나열된 1차열 배열 딕셔너리{키: 값}와 비슷한 구조 # 시리즈 만들기 기본구조 pandas.Series(딕셔너리) pandas.Series(리스트) # 딕셔너리를 시리즈로 변환하기 # 판다스 import 하기 import pandas as pd # 딕셔너리 생성 dict1 = {'a':1, 'b':2, 'c':3} # 시리즈 변환 sr = pd.Series(dict1) # 출력 print(type(sr)) print(sr) # 리스트를..

[점프 투 파이썬 ] 05장 클래스, 모듈 패키지, 예외처리, 내장함수, 라이브러리

출처: https://wikidocs.net/book/1 점프 투 파이썬 이 책은 파이썬이란 언어를 처음 접해보는 독자들과 프로그래밍을 한 번도 해 본적이 없는 사람들을 대상으로 한다. 프로그래밍을 할 때 사용되는 전문적인 용어들을 알기 쉽게 풀어서 … wikidocs.net 클래스 # 함수 활용했을 때 코드: 각각 계산이 필요할 때마다 함수를 늘려줘야 한다. result1 = 0 result2 = 0 def add1(num): global result1 result1 += num return result1 def add2(num): global result2 result2 += num return result2 print(add1(3)) print(add1(4)) print(add2(3)) print(..

공부/Python 2023.04.09

[점프 투 파이썬 ] 04장 입력과 출력

출처: https://wikidocs.net/book/1 점프 투 파이썬 이 책은 파이썬이란 언어를 처음 접해보는 독자들과 프로그래밍을 한 번도 해 본적이 없는 사람들을 대상으로 한다. 프로그래밍을 할 때 사용되는 전문적인 용어들을 알기 쉽게 풀어서 … wikidocs.net 함수 # 파이썬 함수 구조 def 함수명(매개변수): ... # 매개변수와 인수 def add(a,b): # a, b는 매개변수 return a+b print(add(3,4)) # 3, 4는 인수 7 매개변수 - 함수에 전달된 값을 저장하는 변수 인수 - 함수에 전달하는 값 # 일반적인 함수 형태태 def add(a, b): result = a + b return result a = add(3,4) print(a) 7 # 입력값이 ..

공부/Python 2023.04.09

[점프 투 파이썬 ] 03장 제어문

출처: https://wikidocs.net/book/1 점프 투 파이썬 이 책은 파이썬이란 언어를 처음 접해보는 독자들과 프로그래밍을 한 번도 해 본적이 없는 사람들을 대상으로 한다. 프로그래밍을 할 때 사용되는 전문적인 용어들을 알기 쉽게 풀어서 … wikidocs.net if 문 # if와 else를 사용한 기본 구조 if 조건문: 수행할 문장1 수행할 문장2 ... else: 수행할 문장A 수행할 문장B ... x = 3 y = 2 x>y True x=3000: print("택시를 타자") else: print("걸어 가자") 택시를 타자 #"돈이 3000원 이상 있거나 카드가 있다면 택시를 타고 그렇지 않으면 걸어 가라." money = 2000 card = True if money>=2000 ..

공부/Python 2023.04.08