개발/SQL 26

NoSQL의 정의, RDB와의 차이, 예시

개발자로 일을 하다보면 거의 대부분의 경우에 MariaDB, PostgreSQL 같은 RDB 를 사용하게 됩니다.그러나 일을 하다보면 빅데이터 분야와 관련된 일을 할 때 가끔씩 접하게 되는것이 NoSQL 입니다.엑셀처럼 직관적으로 눈에 보이고 머리속에 그려지는 RDB 와 달리 NoSQL 은 개념을 들어도 머릿속에 어떻게 사용하는지 개념이 한번에 떠오르지 않는데요그래서 스스로도 공부를 해 보고자 NoSQL 에 대해서 이번 포스팅을 작성하게 되었습니다. NoSQL의 정의NoSQL은 전통적인 **관계형 데이터베이스 관리 시스템(RDBMS)** 과는 다른 방식으로 데이터를 저장하고 관리하는 비관계형(non-relational) 데이터베이스를 의미합니다. NoSQL은 "Not Only SQL"의 약자로, 단순히 ..

개발/SQL 2024.10.18

자신의 자바 버전에 맞는 mariadb jdbc 확인하는 법

https://mariadb.com/kb/en/mariadb-connector-j-releases/ List of MariaDB Connector/J Releases A list of all Connector/J releases mariadb.com 이곳에서 자신의 자바 버전에 맞는 mariadb connector/j 를 확인 후 https://mariadb.com/downloads/connectors/ Download MariaDB Connectors for data access & analysis | MariaDB Download MariaDB Connector/Python, MariaDB Connector/C, MariaDB Connector/J, MariaDB Connector/Node.js, M..

개발/SQL 2023.07.24

오라클DB Oracle 문자열에 구분자를 여러 행으로 분리하기

이전포스팅에서 Mysql 쿼리로 구분자로 구분된 문자열을 행으로 분리하는 쿼리를 작성했었는데 https://dzzienki.tistory.com/35 MySQL 문자열 구분자 여러개 있을 때 여러 행으로 분리하기 일을 하던 도중 MySQL 에서 한 문자열에 여러개의 구분자가 있을 때,예를 들면 '동해물과;백두산이;마르고;닳도록;하느님이;보우하사;우리나라;만세' 이런 테이블이 있다고 가정했을 때 1절 동해 dzzienki.tistory.com 이번에는 오라클 DB 에서 구분자를 행으로 분리하는 쿼리가 필요하여 작성하였다. 위 내용은 https://gent.tistory.com/10 [Oracle] 문자열 구분자를 행으로 분리 (Split) 오라클 쿼리에서 칼럼에 구분자로 입력된 값을 행으로 분리(Split..

개발/SQL 2023.05.12

MariaDB 통계구할 때 Group By 안쓰고 여러개의 조건별 통계 구하기

예를들어 이런 테이블 A가 있다고 가정해봅시다. 국적 성별 나이 한국 여 11 미국 남 24 한국 남 30 한국 여 43 캐나다 여 16 미국 여 33 한국 남 29 미국 남 25 캐나다 여 51 그리고 저는 이런 결과를 도출하고 싶었습니다. 총 한국 미국 캐나다 남 여 10대 20대 30대 40대 ? ? ? ? ? ? ? ? ? ? 이 때 하나의 쿼리로 group by 절을 이용하여 결과값을 도출하려 했으나 아무리 해도 방법이 떠오르지 않아 애를 먹던 중 https://blog.shovelman.dev/841 [삽잡이::sql] 두 종류의 COUNT를 한번에 얻어보자! 특정 조건 Count Query문을 작성하며 원하는 결과가 포함된 데이터의 개수를 구하기 위해 COUNT()를 사용하곤 합니다. 그런데..

개발/SQL 2022.05.20

오라클 시퀀스를 사용하지 않고 자동 증가하는 id 값 만들기

오라클의 자동증가 컬럼 설정을 찾아보면 대부분 시퀀스를 설정하여 INSERT 시 해당 컬럼에 sequence.NEXTVAL 을 이용하여 자동 증가시키는 예제가 대부분이었습니다. 그래서 시퀀스를 사용하지 않고 값을 자동증가 시킬 방법이 없을지 찾아보다가 다음과 같은 글을 발견했습니다. https://stackoverflow.com/questions/11296361/how-to-create-id-with-auto-increment-on-oracle How to create id with AUTO_INCREMENT on Oracle? It appears that there is no concept of AUTO_INCREMENT in Oracle, up until and including version 11g..

개발/SQL 2021.06.23

postgresql generate_series 간단 설명 및 날짜 생성 쿼리

postgresql 에는 generate_series 라는 함수가 있다. 대략 SELECT generate_series(시작, 종료, 간격) (간격은 생략가능) 의 문법으로 쓰인다. 예를들어 1 select generate_series(1, 100) cs 이렇게 쓰면 1부터 100까지 1씩 증가하는 데이터가 만들어진다. 만약 1 select generate_series(1, 100, 5) cs 이런식으로 간격을 설정하게 되면 이런 데이터가 나오게 된다. 이 generate_series 를 이용하여 날짜 데이터를 생성할 수 있는데 사용법은 다음과 같다. 우선 시작날짜와 종료 날짜 사이의 데이터를 뽑고 싶다면 1 select generate_series('2020-01-01'::date , '2020-12-..

개발/SQL 2020.09.04

Postgresql 윈도우 10 64bit 설치 방법

1. https://www.postgresql.org/ PostgreSQL: The world's most advanced open source database PostgreSQL is a powerful, open source object-relational database system with over 30 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance. There is a wealth of information to be found descr www.postgresql.org postgresql 공식홈페이지에 접속해서 다운로드 페이지..

개발/SQL 2020.07.09

Postgresql split_part 뒤에서부터 가져오기

mysql 이나 mssql로 문자열을 구분자로 구분하고 싶을 때 substring_index를 사용하시면 됩니다. substring_index 와 같은 기능을 하는 함수가 postgresql에도 있는데 그것은 바로 split_part 입니다. 사용법은 아래와 같구요 한가지 차이점이라면 mysql에선 구분된 문자열을 뒤에서부터 가져오고 싶으면 인자로 마이너스 값을 주시면 되지만 split_part에선 마이너스값을 사용할 수가 없습니다.해결 방안으로는 reverse 함수로 한번 감싸 문자열을 뒤집은 후 split_part로 구분된 문자열을 reverse로 다시 뒤집으시면 됩니다.

개발/SQL 2020.02.26