'빅데이터 관련 자료/[SQL] Basic' 카테고리의 글 목록
Data Analyst
300x250
300x250

빅데이터 관련 자료/[SQL] Basic 53

SQL: 데이터베이스의 언어

SQL: 데이터베이스의 언어SQL(Structured Query Language)은 관계형 데이터베이스 관리를 위한 표준 언어로, 데이터베이스에서 데이터를 저장하고 검색하는 데 사용됩니다. SQL은 데이터 정의, 조작, 제어 및 조회 기능을 제공합니다. 이번 블로그에서는 SQL의 기본 개념과 주요 명령어들을 소개하겠습니다.SQL의 역사와 중요성SQL은 1970년대 IBM의 연구원들이 처음 개발했으며, 이후 ANSI(미국국립표준협회)와 ISO(국제표준화기구)의 표준으로 자리잡았습니다. SQL의 중요성은 관계형 데이터베이스 시스템(RDBMS)이 비즈니스 데이터 관리의 표준이 됨에 따라 더욱 부각되었습니다. SQL은 단순하면서도 강력한 언어로, 다양한 데이터베이스 시스템(MySQL, PostgreSQL, Or..

SQL에서 JOIN의 종류와 사용 방법

SQL(Structured Query Language)은 데이터베이스를 관리하고 조작하는 데 사용되는 언어입니다. 데이터베이스에서 여러 테이블의 데이터를 결합하여 원하는 정보를 얻기 위해서는 JOIN 연산을 사용합니다. 이 블로그에서는 JOIN의 종류와 각각의 사용 방법에 대해 자세히 알아보겠습니다.JOIN의 종류SQL에서 JOIN은 크게 네 가지 종류로 나뉩니다.INNER JOINLEFT JOIN (또는 LEFT OUTER JOIN)RIGHT JOIN (또는 RIGHT OUTER JOIN)FULL JOIN (또는 FULL OUTER JOIN)각 JOIN의 작동 방식을 예제를 통해 알아보겠습니다.1. INNER JOININNER JOIN은 두 테이블 간의 일치하는 행만 반환합니다. 즉, 양쪽 테이블에 모..

SQL 피벗 및 언피벗 pivot unpivot

피벗(Pivot)과 언피벗(Unpivot)은 데이터 분석에서 자주 사용되는 두 가지 중요한 SQL 연산입니다. 피벗은 행 데이터를 열로 변환하여 요약된 형태로 표현하고, 언피벗은 그 반대로 열 데이터를 행으로 변환하여 더 세부적인 데이터를 표현합니다. 이를 통해 데이터의 시각화와 분석이 더 용이해집니다.피벗 (Pivot)피벗 연산은 데이터를 요약하거나 집계하여 행 데이터를 열로 변환합니다. 예를 들어, 여러 행에 분산된 데이터를 열로 정리하여 비교하기 쉽게 만드는 경우에 사용됩니다.피벗 사용 예시 (SQL Server):다음은 department_sales 테이블을 이용하여 각 부서의 연도별 매출 합계를 열로 변환하는 예제입니다.SELECT department_id, [2019], [2020], [202..

PostgreSQL에서 테이블 컬럼 정보 조회하기

데이터베이스 관리 시스템을 운영하거나 데이터와 관련된 작업을 할 때, 특정 테이블의 구조를 이해하는 것은 매우 중요합니다. PostgreSQL에서는 information_schema.columns 뷰를 활용하여 테이블의 컬럼 정보를 손쉽게 조회할 수 있습니다. 이 글에서는 information_schema.columns 뷰를 사용하여 특정 테이블의 컬럼 상세 정보를 어떻게 확인할 수 있는지 알아보겠습니다. 1. information_schema.columns 소개information_schema.columns는 데이터베이스 내 모든 스키마의 컬럼 정보를 담고 있는 시스템 카탈로그 뷰입니다.사용자가 접근할 수 있는 모든 테이블의 컬럼 정보를 조회할 수 있습니다. 2. 필요한 정보 선택하기column_nam..

윈도우 프레임 SQL : ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING

ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING 구문은 SQL의 윈도우 함수에서 사용되며, 윈도우 프레임을 정의합니다. 이것을 심화 버전으로 설명하면 다음과 같습니다: 윈도우 프레임 윈도우 프레임은 윈도우 함수가 작동할 데이터의 범위를 정의합니다. 윈도우 프레임을 설정함으로써 함수는 해당 프레임 내에서만 작동하게 됩니다. - UNBOUNDED PRECEDING UNBOUNDED PRECEDING은 윈도우 프레임의 시작을 나타냅니다. 이것은 현재 행을 포함한 윈도우의 가장 첫 번째 행을 지정합니다. - UNBOUNDED FOLLOWING UNBOUNDED FOLLOWING은 윈도우 프레임의 끝을 나타냅니다. 이것은 현재 행을 포함한 윈도우의 가장 마지막..

SQL에서의 FIRST_VALUE 함수: 활용과 예제

SQL에서 FIRST_VALUE 함수는 데이터 집합 내에서 첫 번째 값을 반환하는 유용한 함수입니다. 이 함수는 특히 윈도우 함수나 ORDER BY 절과 함께 사용될 때 더욱 강력한 기능을 발휘합니다. 이 블로그에서는 FIRST_VALUE 함수의 사용법과 몇 가지 예제를 살펴보겠습니다. FIRST_VALUE 함수 구문 sqlCopy code FIRST_VALUE(expression) OVER ( [PARTITION BY partition_expression, ... ] ORDER BY order_expression [ASC | DESC] ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) expression: 반환할 값입니다. PARTITION BY:..

[전부 모음] PostgreSQL 날짜 관련된 함수

PostgreSQL에서 사용할 수 있는 주요 날짜 및 시간 관련 함수를 설명하겠습니다. CURRENT_DATE / CURRENT_TIME / CURRENT_TIMESTAMP: 각각 현재 날짜, 시간, 날짜와 시간을 반환합니다. DATE_TRUNC(unit, date): 날짜를 특정 단위로 자릅니다. 예를 들어, 'hour'로 지정하면 해당 날짜의 시간 부분을 제거합니다. DATE_PART(unit, date): 날짜에서 특정 단위의 값을 추출합니다. 연도, 월, 일 등의 값을 추출할 수 있습니다. TO_CHAR(timestamp, format): 날짜를 지정된 형식으로 변환합니다. AGE(end_date, start_date): 두 날짜 간의 차이를 계산합니다. start_date부터 end_date까지..

[전부 모음] Mysql 날짜 관련된 함수

NOW() / CURRENT_TIMESTAMP() / SYSDATE(): 현재 시간을 반환합니다. 이 함수들은 동일한 값을 반환합니다. CURDATE() / CURRENT_DATE(): 현재 날짜를 반환합니다. 이 또한 두 함수는 동일한 값을 반환합니다. CURTIME() / CURRENT_TIME(): 현재 시간을 반환합니다. 이 또한 두 함수는 동일한 값을 반환합니다. DATE_FORMAT(date, format): 날짜를 원하는 형식으로 포맷합니다. 첫 번째 매개변수로 날짜를, 두 번째 매개변수로 포맷을 지정합니다. DATEDIFF(date1, date2): 두 날짜 간의 일 수 차이를 계산합니다. date1에서 date2를 빼서 일 수를 반환합니다. DATE_ADD(date, INTERVAL ex..

PostgreSQL 과 MySQL 큰 차이

PostgreSQL과 MySQL은 동일한 기능을 많이 제공합니다. 하지만, 관계형 데이터베이스 관리 시스템 (RDBMS)에는 큰 차이점이 있습니다. 빠르게 정리해보겠습니다. 1. MySQL 은 읽기 전용 명령을 관리하는데 선호됩니다. 동시성이 필요한 경우에는 선호되지 않습니다. 2. PostgreSQL 읽기와 쓰기 작업 가능하며, 대규모 데이터 세트 및 복잡한 쿼리를 관리하는 경우에 선호됩니다. 하지만, 읽기 전용 작업에는 선호되지 않습니다. 3. MySQL 은 PostgreSQL 보다 기능이 적지만, 읽기 전용 쿼리에서 가볍고 안정적이기 때문에 빠른 처리 속도를 유지할 수 있습니다. 4. PostgreSQL은 처음부터 ACID를 준수하도록 구축되어있으며, 동시 트랜잭션이 필요한 경우에 최적이지만 읽기..

generate_series 함수

generate_series는 PostgreSQL에서 제공하는 함수로, 특정 범위 내의 연속된 값을 생성합니다. 이 함수는 일반적으로 날짜, 시간 또는 숫자와 같은 연속적인 값들을 만들 때 사용됩니다. select date(generate_series(start_at, end_at,'1 day')), start_at, end_at, goodsno from table_a 예를 들어, generate_series('2024-02-01'::date, '2024-02-10'::date, '1 day')와 같이 사용하면 '2024-02-01'부터 '2024-02-20'까지의 날짜를 일일 단위로 생성합니다. 이를 통해 일련의 날짜 값을 가지고 있는 테이블을 만들거나, 특정 날짜 범위에 대한 집계 또는 분석을 수행할..

300x250
300x250