[MySQL] 사용자 정의 함수(User Defined Function, UDF)
·
SQL/MySQL
1. 사용자 정의 함수(UDF)1.1. UDF 기본 개념MySQL 내장함수 이외에 사용자가 직접 만들 수 있는 함수반복해서 쓰는 복잡한 로직이 있을 경우, 직접 함수를 정의해서 재사용하면 유용함ex) 특정 패턴의 문자열 처리, 특정 규칙에 따른 계산, 데이터 정제 등❇️기본 쿼리 형식매개변수 : 함수 사용 시 입력받는 변수 (여러 개 가능)반환타입 : 함수가 어떤 타입의 값을 반환하는지 명시아래 2장 참고DETERMINISTIC : 입력한 파라미터가 같으면 출력도 동일하게 해주는 설정 (아닐 경우 NOT DETERMINISTIC)NOW, RAND 처럼 매번 실행 결과 달라지는 함수 사용 시, 일관된 출력을 하도록 쓸 수 있음.BEGIN과 END 사이에 함수 내부 로직을 작성하면 됨구문마다 종료 기호(;)..
[MySQL] Window 함수
·
SQL/MySQL
1. Window 함수1.1. Window 함수 개념MySQL 8.0부터 정식으로 지원행들의 집합(window)에 대해 계산을 수행하는 함수로, 집계 함수의 확장판(GROUP BY와 달리) 데이터를 집계해도 원래의 행들은 그대로 두고, 결과를 추가적인 컬럼으로 붙여줌⭐공식 도규먼트 曰 "By contrast, window operations do not collapse groups of query rows to a single output row. Instead, they produce a result for each row."기본 쿼리 형식함수명(): 사용할 윈도우 함수. 2~4장 참고. (필수)OVER(): 윈도우 함수임을 나타내는 키워드 (필수)PARTITION BY: 데이터를 나눌 기준 (=GRO..
[MySQL] 해커랭크, 리트코드 문제 풀이 (4)
·
SQL/MySQL
SQL 쿼리 연습을 위해 다양한 문제를 풀어보고 있다.다만, 대부분의 코딩테스트 플랫폼에서는 BigQuery 선택지가 없어서 MySQL 기준으로 연습하는 중이다.(대부분의 문법이 비슷하지만 간혹 문법이나 정책이 다른 경우가 있는 듯하다) 아래와 같은 문제들을 기록해두고 복기하려고 한다.어려워서 풀이에 실패한 문제풀긴 했으나 좀 더 좋은 쿼리가 있었던 문제몰랐던 문법이나 함수를 알게 된 문제그 외 복기가 필요하다고 느낀 문제1. Placements (해커랭크)📌문제Write a query to output the names of those students whose best friends got offered a higher salary than them.Names must be ordered by th..
[MySQL] UNION, 서브쿼리
·
SQL/MySQL
1. UNION, UNION ALL1.1. UNION 개념 이해UNION: 두 개 이상의 SELECT 쿼리 결과를 수직으로 결합하는 함수 (🆚JOIN이 가로였다면, UNION은 세로) 중복된 행은 빼고 반환해줌 (= 합집합 연산 느낌)UNION ALL은 중복 행까지 다 포함해서 반환해줌차집합(EXCEPT)이나 교집합(INTERSECT) 연산도 있긴 한데, MySQL은 지원하지 않음..예제 1) Product 테이블에서 price가 5 이하거나 200 이상인 상품들만 출력하기-- 1) 일반적인 쿼리select *from Productswhere price = 200-- 2) 굳이 UNION을 써보면 아래처럼 할 수 있음!select *from Productswhere price = 200예제 2) FUL..
[MySQL] Data Manipulation Language (INSERT, UPDATE, DELETE)
·
SQL/MySQL
1. 데이터 조작어(Data Manipulation Language)SQL 구문을 기능에 따라 분류하면 아래와 같다.구문역할예시DDL (Data Definition Language)테이블이나 컬럼 등의 구조 정의/수정 CREATE, ALTER, DROPDML (Data Manipulation Language)테이블 안의 데이터 추가/수정/삭제/조회 INSERT, UPDATE, DELETE, SELECTDCL (Data Control Language)사용자 권한 부여/회수GRANT, REVOKETCL (Transaction Control Language) 트랜잭션을 확정/취소COMMIT, ROLLBACK, SAVEPOINT이 중에서 DML은 (테이블 구조는 그대로 두고) 테이블 안의 "데이터" 자체를 조작..
[MySQL] 해커랭크 문제 풀이 (3)
·
SQL/MySQL
SQL 쿼리 연습을 위해 다양한 문제를 풀어보고 있다.다만, 대부분의 코딩테스트 플랫폼에서는 BigQuery 선택지가 없어서 MySQL 기준으로 연습하는 중이다.(대부분의 문법이 비슷하지만 간혹 문법이나 정책이 다른 경우가 있는 듯하다) 아래와 같은 문제들을 기록해두고 복기하려고 한다.어려워서 풀이에 실패한 문제풀긴 했으나 좀 더 좋은 쿼리가 있었던 문제몰랐던 문법이나 함수를 알게 된 문제그 외 배울 점이 있었던 문제1. Weather Observation Station 11 (해커랭크)📌문제Query the list of CITY names from STATION that either do not start with vowels or do not end with vowels.Your result ca..
[통계 기초] 3. R 프로그램 실습(1)
·
Statistics/교육 연구를 위한 통계
1. R 소개SPSS, Jamovi, SAS, STATA 등 다양한 통계분석 프로그램이 있지만 ...R의 여러 장점 때문에 많이 사용하는 추세무료 오픈소스여러 통계 기법이 패키지로 개발되어 있음우수한 시각화 기능 ※ R Studio 사용 시 유의사항PC 사용자 계정은 반드시 영문으로 설정하자 (경로 오류 방지)'관리자 권한으로 실행'하는 습관을 들이자 2. 자료 입력 및 변환데이터 준비`setwd()` : working directory 설정`getwd()` : 현재 working directory 확인 "R 켜면 습관처럼 이것부터!"` : 특정 변수에 개별 값 입력하기 (c로 묶어줌)`rep(n,k)` : n을 k번 반복`data.frame()` : 변수 여러 개를 묶어서 하나의 데이터프레임 객체로 설..
Bayesian Optimization 코드 (Optuna, HyperOpt)
·
ML & DL/데이터마이닝
데이터마이닝에 관한 스터디를 진행하고자 정리한 내용입니다.개인 공부 과정에서 틀린 부분이 있을 수 있습니다. (잘못된 부분은 알려주시면 수정하겠습니다!)1. Optuna 사용 가이드✅주요 개념Study: 전체 최적화 과정의 단위. (Trial을 여러 번 실행하며 최적의 하이퍼파라미터를 찾아나감)Trial: 특정 하이퍼파라미터 조합으로 모델을 평가하는 1번의 시도Objective Function: 최적화하려는 대상 함수. ( 각 Trial의 성능을 평가하고 반환함)0) 라이브러리 및 데이터 준비optuna 없으면 `pip install optuna`로 설치하고 시작import numpy as npimport pandas as pdimport optuna # Optuna 라이브러리import xgboost ..
정규표현식(regex) 정리
·
Etc.
자연어 및 텍스트 데이터를 전처리할 때 유용하게 쓸 수 있는 정규표현식에 대해 정리해둡니다.EmEditor의 문서를 바탕으로 정리하였습니다.(⚠️혹시 글자 폰트가 이상하게 깨질 경우, 새로고침하면 정상적으로 나옵니다!)1. 리터럴 (Literal)모든 문자는 기본적으로 Literal이며, 스스로 매치되는 문자임 (ex. "Hello"를 검색하면 문서에서 "Hello"와 일치한 부분들이 검색됨)단, 다음 문자들은 제외함 : ".", "*", "?", "+", "(", ")", "{", "}", "[", "]", "^", "$", "\" (ex. "\?"를 검색하면 문서에서 "?"와 일치한 부분들이 검색됨)2. 메타문자온점(dot)임의의 1개의 문자 또는 공백예시) `.e`를 검색 ➡️ `he`, `we`,..
[웹 크롤링] 정적 크롤링 (requests, beautifulSoup)
·
Python/Web Crawling
1. 웹 크롤링 배경 지식HTTP 통신 : 웹 브라우저와 웹 서버 간에 데이터를 주고받기 위해 사용되는 통신브라우저에서 서버에 url을 요청 ➔ 서버에서 HTML 형식으로 응답해줌 (HTML에 페이지에 대한 정보가 들어있음)ex1) www.naver.com을 입력(요청)하면,  서버에서 그 그 사이트 정보를 HTML 형식으로 반환해줌ex2) 존재하지 않는 주소를 요청하면, 서버에서 "404 Not Found"라고 응답함웹 페이지의 정보를 크롤링하려면, HTML과 CSS 선택자에 대한 개념을 알아야 함 2. 웹 사이트 기초HTML : 구조CSS : 디자인JavaScript : 동작2.1. HTML 환경 설정 (실습 준비)VSCODE에서 .html 파일 생성셀에 `!` 입력하고 Enter 치면 기본 틀이 자..