SQL - Index, Case Statement
·
Data Analyst/SQL
MySQL 인덱스인덱스는 데이터베이스에서 검색 성능을 향상시키는 중요한 도구입니다. 책의 목차처럼 작동하며, 테이블의 특정 열을 빠르게 검색할 수 있도록 돕습니다. 인덱스 기본 생성:-- 방법CREATE INDEX index_nameON table_name (column_1, column_2, ...);-- 예시create index i_hire_date on employees(hire_date);이 구문에서 괄호 안에는 자주 검색할 열을 지정합니다. 단일 열 인덱스 뿐 아니라 다중 열을 사용한 복합 인덱스도 생성 할 수 있습니다. 복합 인덱스:-- 방법CREATE INDEX idx_nameON table_name (column1, column2);-- 예시create index i_composite o..
ML - Matplotlib SubPlots
·
Data Analyst/ML
plt.subplots()우선, numpy를 통해 데이터를 생성해보겠습니다.import numpy as np# a는 np.linspace를 사용하여 0부터 10까지 11개의 균등한 간격의 숫자를 생성a = np.linspace(0,10,11)# b는 a의 각 원소를 4제곱한 값을 가진 배열b = a ** 4# x는 0부터 9까지의 정수 배열을 생성x = np.arange(0,10)# x의 각 원소에 2를 곱한 값을 가진 배열y = 2 * x plt.subplots() 객체는 더 자동화된 축 관리자로 작용합니다. 이로 인해 여러 플롯을 나란히 표시하는 것이 훨씬 쉬워집니다.튜플 언패킹을 사용하여 Figure 객체와 numpy 배열의 축을 모두 잡는 방법에 주목하세요.# plt.figure()와 유사하게 사..
SQL - Trigger
·
Data Analyst/SQL
MySQL 트리거란 무엇인가?MySQL 트리거는 테이블에 연결된 저장 프로그래밍의 일종입니다. 특정 이벤트가 발생하면 자동으로 활성화 됩니다. 이 이벤트는 반드시 INSERT, UPDATE, 또는 DELETE와 같은 DML(데이터 조작 언어) 명령어와 관련이 있어야 합니다. 트리거는 데이터베이스의 일관성과 무결성을 유지하는데 매우 유용한 도구입니다. 트리거는 두 가지 유형으로 나뉩니다.BEFORE 트리거: 이벤트 발생 전에 실행 됩니다.AFTER 트리거:  이벤트 발생 후에 실행 됩니다.예를 들어, 트리거는 테이블에 새 레코드가 삽입되기 전에 또는 레코드가 업데이트 된 후에 활성화 될 수 있습니다.DELIMITER $$CREATE TRIGGER before_salaries_insertBEFORE INSE..
SQL - Local, Session, Global Variables
·
Data Analyst/SQL
Local Variables (지역 변수)지역 변수는 Begin-End 블록 내에서만 유효한 변수 입니다. 이 변수들은 해당 블록을 벗어나면 존재하지 않게 됩니다.지역 변수를 선연할 때는 DECLARE 키워드를 사용해야 합니다.DELIMITER $$create function f_emp_avg_salary (p_emp_no INTEGER) returns decimal(10,2)deterministic no sql reads sql databegindeclare v_avg_salary decimal(10,2); # v_avg_salary 변수 생성begin declare a_avg_salary_2 decimal(10,2); # a_avg_salary_2 변수 생성end;select avg(s.salary)..
SQL - Variables, Functions
·
Data Analyst/SQL
변수와 매개변수 (Variables and Parameters)​프로그램을 정의할 때 매개변수(Parameter)를 사용하여 입력값을 처리하고, 그 결과를 변수(Variable)에 저장할 수 있습니다. MySQL의 저장 프로시저에서 IN, OUT 또는 IN-OUT 매개변수를 사용할 수 있으며, 이러한 매개변수를 통해 값을 입력하고 결과를 반환할 수 있습니다.# 변수v_avg_salary 설정set @v_avg_salary = 0;# 프로시저 호출(11300) 및 변수(@v_avg_salary)에 저장call employees.emp_avg_salary_out(11300, @v_avg_salary);# 변수 값 출력select @v_avg_salary;위의 방법을 사용하여 변수를 만들고 해당 프로시저의 연..
SQL - Routine, Stored Procedure
·
Data Analyst/SQL
Introduction to Stored Routines저장 루틴 개요:저장 프로시저와 함수는 SQL 명령어 집합을 서버에 저장하여 필요할 때 호출할 수 있는 기능입니다. 이는 반복적인 작업을 자동화할 때 유용합니다​.저장 프로시저는 계산을 수행하고 데이터를 처리하여 결과를 반환합니다.주요 특징:프로시저는 여러 번 호출 가능.(반복작업 최소화)예시 : 사용자가 100명 이상 DB에 동일한 쿼리를 실행하는 경우, 효율적인 방법으로 저장 프로시저를 사용하는 것이 좋습니다. 이를 통해 쿼리 로직을 데이터베이스 내에 미리 저장해두고, 사용자들은 프로시저만 호출함으로써 성능을 최적화할 수 있습니다.입력 매개변수를 받아 계산을 수행할 수 있음.파라미터(매개변수)를 사용하여 작업을 할 수 있습니다. 코딩에서 inpu..
ML - Matplotlib Figure Object
·
Data Analyst/ML
Figure 생성우선 객체 지향 방식에서는 figure 객체를 인스턴스화한 후, 해당 객체에서 메서드나 속성을 호출하여 그래프를 그립니다.figure 객체를 생성한 후, 해당 객체에서 메서드나 속성을 호출하는 것입니다. 특히, 여러 개의 플롯을 포함한 캔버스를 다룰 때 이 방법이 더 효율적입니다.즉, 여러 플롯이 있는 복잡한 그래프를 구성할 때, 각 플롯을 독립적으로 제어할 수 있어 더욱 유연하게 그래프를 다룰 수 있습니다.# 비어있는 캔버스 그리는 구문입니다.fig = plt.figure()# 도형에 좌표축을 추가합니다.axes = fig.add_axes([0, 0, 1, 1]) # left, bottom, width, height (range 0 ~ 1) 캔버스 위치 또한 조정 가능# 만든 축에 그래..
ML - Matplotlib-Basics
·
Data Analyst/ML
Matplotlib Basics이 라이브러리는 2D 및 3D 그래픽을 생성하는 과학적 시각화 도구로 뛰어납니다.Matplotlib의 주요 장점은 다음과 같습니다:간단한 플롯을 그릴 때 쉽게 시작할 수 있음사용자 지정 레이블과 텍스트 지원그림의 각 요소를 세밀하게 제어 가능다양한 형식으로 고품질 출력 지원전반적으로 매우 사용자 정의가 용이함Matplotlib은 프로그래밍적으로 재현 가능한 그림을 생성할 수 있도록 해줍니다. 계속 배우기 전에, Matplotlib의 공식 웹사이트(http://matplotlib.org/)를 검색해보는 것을 추천합니다. 우선, 넘파이 배열 두 개를 사용하는 매우 간단한 예제를 통해 진행해 봅시다. 리스트를 사용할 수도 있지만, 대부분의 경우 넘파이 배열이나 판다스 열(실제로는..
SQL - SELF JOIN, VIEW
·
Data Analyst/SQL
SELF JOIN- 셀프 조인이란 하나의 테이블을 스스로와 조인하는 것을 말합니다. 즉, 같은 테이블의 여러 행을 서로 결합할 때 사용됩니다.- 셀프 조인을 사용하면 테이블의 특정 행을 동일한 테이블 내 다른 행과 결합할 수 있습니다.- INNER JOIN 구문을 사용하여 셀프 조인을 할 때, 테이블을 마치 두 개의 서로 다른 테이블처럼 취급합니다. 이를 위해 별칭(Alias)을 사용하여 테이블의 두 개 버전을 구분합니다.- 셀프 조인은 특히 계층적 관계나 같은 테이블 내에서의 상하 관계를 표현할 때 유용합니다.예시 :- 한 회사의 직원 테이블이 있다고 가정해봅시다.- 이 테이블은 각 직원의 이름과 상사(매니저)에 대한 정보를 포함하고 있습니다. 그런데 이 매니저도 같은 테이블에 포함된 또 다른 직원입니..
ML - PANDAS(Pivot-Tables)
·
Data Analyst/ML
Pivot Tables- 피벗 테이블은 데이터를 재구성하여 관계와 연결성을 명확하게 보여주는 강력한 도구입니다.- 데이터 분석을 하다 보면 원시 데이터에서 패턴을 파악하거나, 특정 기준에 따라 데이터를 집계하고 요약해야 할 때가 많습니다.- 이럴 때 피벗 테이블을 사용하면 복잡한 데이터도 쉽게 시각화할 수 있습니다.Pivot method- 열 값을 기준으로 데이터를 재구성하고, 인덱스를 재지정하여 데이터를 재배열하는 방법입니다.- 피벗 메서드는 주로 데이터 분석, 시각화, 그리고 탐색에 활용되며, 데이터의 구조를 쉽게 파악하거나 요약된 정보를 제공하는 데 유용합니다.사용 예시# 'Company','Product','Licenses'컬럼 값만 보겠습니다.licenses = df[['Company','Pro..
hmm06