본문 바로가기

Database/MySQL

(11)
[MySQL] MySQL Function 사용자 정의 함수 User-Difined Function (사용자 정의 함수) 기본 구조 CREATE FUNCTION '함수 이름' ('파마리터 이름', '데이터 타입') RETURNS '출력될 결과의 데이터 타입' (deterministic) BEGIN -- 변수가 필요할 때 declare와 set 사용 DECLARE 'variable name' 'datatype'; SET ; RETURN (Query) / 'variable name'; -- return필수! END -- 사용 방법 SELECT '함수 이름' (파라미터 이름) LIMIT 심화 SELECT * FROM table LIMIT 5, 10 # 5 초과인 수부터 10개를 가져와라. 즉 6~15 SELECT * FROM table LIMIT 5, 1 # 6 SEL..
[MySQL] 정규표현식 정규표현식 수업 목표 정규표현식 튜토리얼 사이트 연습 (정규표현식 튜토리얼, 정규표현식을 테스트 해 볼 수 있는 사이트) 필요할 때마다 검색해서 사용하기 정규표현식 [Algorithm/MySQL] - [해커랭크(HackerRank)] Weather Observation Station 6 (MySQL) 이 문제를 정규표현식을 이용해서 풀어보자! 정규표현식이란 문자열을 찾아내는 패턴들을 통칭하는 말이라고 이해하기 SELECT DISTINCT city FROM station WHERE city REGEXP '^[aeiou].*' 정규표현식을 쓸 때는 REGEXP(regular expression) [aeiou] : aeiou 문자 중에 하나라도 들어가면 ^ : 이 문자열이 여기서 시작해야하고 .* : 어떤 문..
[MySQL] 윈도우 함수 윈도우 함수 sum, max, min 등을 그룹별로 구할 수 있는 함수 GROUP BY와는 좀 다르다 한 줄로 요약을 해서 보여주는 게 아니라 각각의 row에 결과물들을 보여준다 사용할 수 있는 함수 🔗 AVG() BIT_AND() BIT_OR() BIT_XOR() COUNT() JSON_ARRAYAGG() JSON_OBJECTAGG() MAX() MIN() STDDEV_POP(), STDDEV(), STD() STDDEV_SAMP() SUM() VAR_POP(), VARIANCE() VAR_SAMP() 형태 함수(컬럼) OVER (PARTITION BY 컬럼 ORDER BY 컬럼) 집계 함수 MAX(컬럼) OVER (PARTITION BY 컬럼) 각 부서별로 가장 많이 버는 사람 찾기 SELECT Id..
[MySQL] 서브쿼리 Subquery 서브쿼리(Subquery) Select 절 서브쿼리 누적합과 관련됨 후에 추가 예정 From 절 서브쿼리 가상의 테이블을 하나 더 만든다고 생각하기 FROM 절 안에 있는 것이 서브쿼리 /*sub라는 이름으로 가상의 테이블 만들기*/ SELECT sub.sub_column FROM ( SELECT sub_column FROM sub_table ) sub GROUP BY sub.sub_column Where 절 서브쿼리 비교연산자 = 사용 > 서브쿼리의 결과물이 1개여야함 SELECT * FROM test WHERE column = (SELECT MIN(column) FROM test) IN 사용 > 서브쿼리의 결과물이 1개 이상일 때도 사용 가능 SELECT * FROM test WHERE column ..