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

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

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'까지의 날짜를 일일 단위로 생성합니다. 이를 통해 일련의 날짜 값을 가지고 있는 테이블을 만들거나, 특정 날짜 범위에 대한 집계 또는 분석을 수행할..

cross join unnest 쉬운 예제 / 나열된 데이터 1개를 전체 행으로 나타내기

AWS Athena 에서 아래와 같이 콤마(Comma)로 구분되어 한 행에 3개의 데이터가 나열되어 있다고 가정하자. fruit 사과, 수박, 참외 한 행에 있는 데이터를 아래와 같이 3개의 행으로 나타내고 싶은 경우 어떻게 하면 될까? fruit 사과 수박 참외 Cross JOIN : 카티션 곱(CARTESIAN PRODUCT) 한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인시키는 기능입니다. 상호 조인 결과의 전체 행 개수는 두 테이블의 각 행 의 개수를 곱한 수만큼 됩니다. 우선 아래와 같이 split 함수를 쓰게 되면 WITH t AS ( SELECT '사과,수박,참외' AS fruit ) SELECT split(t.fruit, ',') Array 형식으로 결과값이 나온다. [사과, ..

5장 - KSQL과 다른 스트리밍 플랫폼 비교

스트리밍 데이터 처리를 위한 플랫폼들은 여러 가지가 있습니다. KSQL과 유사한 다른 스트리밍 플랫폼들과의 비교를 통해 장단점을 살펴보면 좋을 것 같습니다. 1. Apache Flink 장점: Flink은 스트리밍 및 배치 처리를 모두 지원하며 상태 관리와 관련된 기능이 강력합니다. 이벤트 시간 윈도우, 정확한 한 번 처리 보장 등의 기능을 제공합니다. 단점: Flink은 배포와 관리가 다소 복잡하고, 학습 곡선이 가파릅니다. 2. Apache Spark Streaming 장점: Spark Streaming은 배치 처리와 스트리밍 처리를 함께 제공하여 유연한 사용이 가능합니다. 큰 규모의 데이터를 처리하는 데 강점이 있습니다. 단점: 초당 수백만 개 이상의 이벤트를 처리하는 경우에는 처리 지연이 발생할 ..

4장 - KSQL 고급 기능과 최적화

KSQL의 몇 가지 고급 기능과 성능 최적화에 대해 다루도록 하겠습니다. 1. 윈도우 함수 활용 윈도우 함수는 시간 또는 이벤트 윈도우에 데이터를 그룹화하고 집계하는 데 사용됩니다. 이 기능을 사용하여 특정 시간 간격 내의 데이터를 처리하거나 윈도우를 이동시켜 실시간 집계를 수행할 수 있습니다. 2. 조인의 활용 KSQL은 여러 스트림 간의 조인을 지원합니다. 여러 데이터 소스로부터 데이터를 가져와 조인을 수행하거나 조인 조건에 따라 스트림을 결합할 수 있습니다. 이를 통해 데이터를 풍부하게 조합하고 분석할 수 있습니다. 3. 효율적인 쿼리 작성 KSQL에서 효율적인 쿼리를 작성하는 것은 중요합니다. 데이터 처리 속도를 높이기 위해 인덱스, 옵티마이저 힌트 등을 활용하여 쿼리를 최적화하는 방법을 다룰 수..

300x250
300x250