본문 바로가기

Big Data/Database26

분석 함수(Analytic Functions) 분석 함수(Analytic Functions)는 SQL에서 사용되며, OVER 절과 함께 사용됩니다. OVER 절은 분석 함수가 적용되는 데이터의 범위를 지정하는 데 사용됩니다. 분석 함수는 SELECT 문에서 사용되며, 결과 집합의 각 행에 대해 계산된 값을 반환합니다. 기본 구문 분석 함수의 기본 구문은 다음과 같습니다. OVER ( [PARTITION BY partition_expression, ... ] [ORDER BY order_expression [ASC | DESC], ... ] [{ROWS | RANGE} window_frame_specification] ) 위의 구문에서 각 부분의 역할은 다음과 같습니다: : COUNT, SUM, AVG, MAX, MIN 등과 같은 분석 함수를 지정합니.. 2023. 7. 27.
싱글 쿼터('), 더블 쿼터('') SQL에서 싱글 쿼터(')와 더블 쿼터(")는 문자열 데이터를 표현하는 데 사용되는 따옴표 기호입니다. 하지만 각각의 사용처가 다릅니다. 싱글 쿼터(') 대부분의 SQL 시스템에서 문자열 데이터를 나타내는 데에 사용됩니다. 가장 보편적으로 사용되는 따옴표 기호로, 문자열 값은 작은따옴표로 감싸집니다. 예를 들어, 문자열 'John'은 'John'으로 표현됩니다. 예시: SELECT * FROM employees WHERE name = 'John'; 주의: 문자열 내에 싱글 쿼터를 포함하려면 해당 싱글 쿼터를 두 번 연속으로 사용하여 이스케이프(escape)해야 합니다. 예를 들어, 문자열 "John's Book"은 'John''s Book'으로 표현됩니다. 예시: INSERT INTO books (tit.. 2023. 7. 27.
날짜 관련 함수 SQL에서 날짜와 관련된 다양한 함수들을 사용하여 날짜를 원하는 형식으로 표현하거나 특정 날짜 정보를 추출할 수 있습니다. 여기서는 주요 날짜 관련 함수들과 사용 예시를 알려드리겠습니다. DATE_FORMAT() DATE_FORMAT 함수는 날짜를 원하는 형식으로 포맷하는 데 사용됩니다. 아래는 주요 포맷 문자열들입니다: %Y: 연도(4자리) %y: 연도(2자리) %m: 월 (01 ~ 12) %d: 일 (01 ~ 31) %H: 시간(24시간 형식, 00 ~ 23) %h: 시간(12시간 형식, 01 ~ 12) %i: 분 (00 ~ 59) %s: 초 (00 ~ 59) %p: AM 또는 PM (대문자) %P: am 또는 pm (소문자) %W: 요일 (영어로, 예: Sunday, Monday) %w: 요일 (숫.. 2023. 7. 26.
GROUP BY 사용 시 제한 GROUP BY 문은 데이터를 그룹화하는 데 사용되는 SQL 문입니다. GROUP BY를 사용할 때 SELECT 절과 HAVING 절에 몇 가지 제한 사항이 있습니다. SELECT 절 제한 GROUP BY를 사용할 때 SELECT 절에서는 두 가지 유형의 컬럼만 사용할 수 있습니다: a. 그룹화 기준으로 사용되는 컬럼들: GROUP BY 절에 명시된 컬럼들은 SELECT 절에서 직접 사용할 수 있습니다. b. 집계 함수를 사용한 컬럼들: 집계 함수를 사용하여 그룹별로 계산된 결과를 SELECT 절에서 사용할 수 있습니다. 일반적인 집계 함수로는 COUNT, SUM, AVG, MIN, MAX 등이 있습니다. 예시 SELECT department, COUNT(employee_id) AS employee_co.. 2023. 7. 26.
EXISTS, ANY, ALL EXISTS, ANY, 그리고 ALL은 모두 상관 서브쿼리(중첩된 서브쿼리)에서 사용할 수 있는 비교 연산자입니다. 상관 서브쿼리는 외부 쿼리와 연관되어 서브쿼리를 실행하는 방식으로, 주로 부정형 서브쿼리와 함께 사용됩니다. 각각의 연산자에 대해 설명하겠습니다: EXISTS EXISTS 연산자는 상관 서브쿼리에서 사용되며, 서브쿼리의 결과가 존재하는지 여부를 확인합니다. EXISTS는 서브쿼리의 결과가 한 개 이상 있을 때 TRUE를 반환하고, 결과가 없으면 FALSE를 반환합니다. 예를 들어, 다음 쿼리는 orders 테이블에 주문이 존재하는지 확인하는 예시입니다. SELECT * FROM customers WHERE EXISTS ( SELECT 1 FROM orders WHERE orders.cust.. 2023. 7. 26.
Long format / Wide format Long format과 Wide format은 데이터를 표현하는 방식 중 두 가지 주요한 형태입니다. 이러한 표현 방식은 주로 데이터 분석과 시각화에 사용되며, 데이터의 구성과 해석에 영향을 미칩니다. Long format Long format은 "긴 형식"이라고도 하며, 데이터를 기록할 때 하나의 관찰값(예: 행)이 하나의 행에 위치하도록 하는 형태를 말합니다. 각 관찰값은 고유한 식별자에 의해 구분되며, 여러 개의 변수가 사용될 수 있습니다. 예시를 통해 설명하겠습니다. 아래는 "과일"이라는 데이터를 long format으로 표현한 예시입니다. person_id fruit quantity 1 apple 3 1 banana 2 1 orange 1 2 apple 2 2 banana 4 2 peach 2 .. 2023. 7. 26.
DATA_ADD 함수 DATE_ADD 함수는 SQL에서 날짜를 더하는 함수로, 특정 날짜에 일정 기간을 더하고 싶을 때 사용합니다. 주로 MySQL, SQL Server, PostgreSQL 등 다양한 데이터베이스에서 지원됩니다. 함수의 사용법은 데이터베이스 시스템에 따라 약간 다를 수 있지만, 일반적으로 다음과 같은 형태를 가지고 있습니다. DATE_ADD(date, INTERVAL value unit) 여기서 각 부분은 다음과 같습니다. date: 기준이 되는 날짜입니다. DATE 혹은 DATETIME 데이터 타입을 사용해야 합니다. value: 기준 날짜에 더할 값입니다. 음수 값을 사용하면 날짜를 뺄 수 있습니다. unit: 더할 값의 단위를 지정합니다. 예를 들어, 'DAY', 'MONTH', 'YEAR', 'HOU.. 2023. 7. 26.
공통 테이블 표현식(CTE) CTE(공통 테이블 표현식, Common Table Expression)는 SQL 쿼리 내에서 임시적으로 사용되는 이름을 가진 결과 집합을 생성하기 위한 기술입니다. CTE는 SELECT, INSERT, UPDATE, DELETE 등의 SQL 문에서 사용할 수 있으며, 특히 복잡한 쿼리를 단순화하고 가독성을 높이는데 유용합니다. CTE는 WITH 절을 사용하여 정의하며, 하나 이상의 CTE를 동시에 사용할 수 있습니다. CTE를 정의한 후, 이를 FROM 절이나 다른 CTE 내에서 일반 테이블처럼 참조하여 사용할 수 있습니다. CTE를 사용하는 기본적인 형식은 다음과 같습니다. WITH cte_name (column1, column2, ...) AS ( -- CTE 정의 SQL SELECT column1.. 2023. 7. 26.
서브쿼리를 이용한 뷰 생성 및 사용 예제 서브쿼리를 사용하여 인라인 뷰를 생성하고 해당 뷰를 사용하는 예제를 MySQL 문법을 기준으로 작성하겠습니다. 예제 데이터로 사용할 "employees" 테이블은 다음과 같습니다: employees table: | emp_id | emp_name | department | salary | |--------|----------|------------|-------| | 1 | Alice | HR | 3000 | | 2 | Bob | IT | 4000 | | 3 | Carol | Sales | 3500 | | 4 | David | IT | 3200 | 서브쿼리 인라인뷰 생성 인라인뷰를 생성하기 위해 아래와 같은 SQL 문을 사용합니다. CREATE VIEW department_view AS SELECT de.. 2023. 7. 26.