반응형

postgresql 23

[PostgreSQL] 테이블 가로 결합(JOIN) (LEFT JOIN, RIGHT JOIN, FULL JOIN, CROSS JOIN)

테이블 가로 결합(JOIN)JOIN을 활용하여 두개 이상의 테이블을 가로로 결합할 수 있습니다.ON t1.column1 = t2.column1 이런식으로 조인해줄 칼럼을 지정해주면 됩니다. JOIN의 종류- (INNER) JOIN : Table1과 Table2에서 값이 같은 행만 반환- LEFT (OUTER) JOIN : JOIN 왼쪽에 있는 Table1의 모든 결과를 가지고 온 후 Table2와 매칭하며, 매칭되는 데이터가 없을 경우 NULL값 삽입- RIGHT (OUTER) JOIN : JOIN 오른쪽에 있는 Table2의 모든 결과를 가지고 온 후 Table1와 매칭하며, 매칭되는 데이터가 없을 경우 NULL값 삽입- FULL(OUTER) JOIN : Table1과 Table2을 매칭시키고 데이터가..

SQL & DB/PostgreSQL 2021.01.07

[PostgreSQL] 테이블 세로 결합(UNION)

여러개의 테이블을 다루다 보면 테이블을 결합해서 사용할 때가 있습니다. Select문으로 불러와진 같은 칼럼을 가진 테이블 여러개를 세로로 결합하는 경우에 대해 알아보겠습니다. DATASET QUERY CREATE TABLE app1 ( user_id varchar(255) , name varchar(255) , email varchar(255) ); INSERT INTO app1 VALUES ('U001', 'sedsf', 'sedsf@naver.com' ) , ('U002', 'ferd', 'ferd@naver.com') , ('U003', 'yop', 'yop@naver.com') , ('U004', 'dsf', 'dsf@naver.com') ; CREATE TABLE app2 ( user_id v..

SQL & DB/PostgreSQL 2021.01.07

[PostgreSQL] Window Function(윈도우 함수), 순위함수

윈도우 함수란- 윈도우 함수는 테이블에서 행집합을 대상으로 `함수입니다.- 행집합은 한 행에 대해서 어떠한 방식으로 관계된 행들이며, 집합 단위로 계산한다는 점에서 집계 함수와 비슷합니다.- 하지만 집계 함수는 해당 되는 행집합에 대해서 하나의 로우로 그 결과물을 보여주지만, 윈도우 함수는 각 행마다 처리결과를 출력합니다. 따라서 윈도우 함수는 집계결과뿐만 아니라 각행의 특징도 볼 수 있습니다. 윈도우 함수의 구조- 집약함수로 윈도함수를 사용하려면 집약함수 뒤에 OVER를 붙이고 윈도함수를 지정합니다. - 만약 OVER구문에 매개변수를 지정하지 않으면 테이블 전체에 집약함수가 적용됩니다.- 매개변수에 PARTITION BY (컬럼이름) 을 지정하면 해당 컬럼 값을 기반으로 그룹화하고 집약함수가 적용됩니다..

SQL & DB/PostgreSQL 2021.01.07

[PostgreSQL] 계산 관련 함수(ABS, POWER , SQRT, POINT)

DATASET QUERY DROP TABLE IF EXISTS location_1d; CREATE TABLE location_1d ( x1 integer , x2 integer ); INSERT INTO location_1d VALUES ( 5 , 10) , (10 , 5) , (-2 , 4) , ( 3 , 3) , ( 0 , 1) ; 절대값, 제곱근, 루트 계산(ABS, POWER, SQRT) ABS는 절대값을 계산하는 함수이며, POWER는 제곱함수, SQRT는 제곱근을 구하는 함수이다. select abs(x1 - x2) ,power(x1 - x2, 2) as Squared ,sqrt(power(x1 - x2, 2)) as Squared_root from location_1d; DATASET2 QU..

SQL & DB/PostgreSQL 2021.01.07

[PostgreSQL] 값 비교(CASE, SIGN, GREATEST, LEAST), 평균값 구하기

DATASET 을 만들기 위한 코드입니다. DROP TABLE IF EXISTS quarterly_sales; CREATE TABLE quarterly_sales ( year integer , q1 integer , q2 integer , q3 integer , q4 integer ); INSERT INTO quarterly_sales VALUES (2015, 82000, 83000, 78000, 83000) , (2016, 85000, 85000, 80000, 81000) , (2017, 92000, 81000, 80000, 90000 ) , (2018, 80000, 83000, 90000, 91000 ) , (2019, 98000, 83000, NULL , NULL ) ; 조건문 비교(CASE) CA..

SQL & DB/PostgreSQL 2021.01.07

[PostgreSQL] 날짜 다루기(CURRENT_DATE, CURRENT_TIMESTAMP, CAST, EXTRACT)

오늘 날짜 추출하기(CURRENT_DATE, CURRENT_TIMESTAMP)PostgreSQL은 현재 시간을 추출할때 자동으로 해당 타임존이 적용되서 리턴됩니다.CURRENT_DATE로 날짜를, CURRENT_TIMESTAMP로 타임스템프를 추출할 수 있습니다.select current_date as today, current_timestamp as timestamp; 지정된 날짜/시간 추출하기 (CAST)CAST함수는 타입을 변환시키는 함수입니다. 문자를 숫자형식으로 변환하거나, 날짜형식으로 변환하거나, 참거짓으로 변환하는 등 다양하게 활용할 수 있습니다.CAST함수의 문법은 다음과 같습니다.CAST('변환대상' AS TYPE)CAST함수를 활용해서 문자열을 날짜형식으로 변환해보겠습니다.select ..

SQL & DB/PostgreSQL 2021.01.06

[PostgreSQL] 문자열 다루기(추출/ 분해 / 합치기) (substring, split_part, concat)

이번 포스팅은 데이터에서 특정 요소들만 추출하는 작업을 해보겠습니다. 데이터셋입니다. DROP TABLE IF EXISTS access_log ; CREATE TABLE access_log ( stamp varchar(255) , referrer text , url text ); INSERT INTO access_log VALUES ('2020-05-21 12:02:00', 'http://www.naver.com/path1/index.php?k1=v1&k2=v2#Ref1', 'http://www.kakao.com/video/detail?id=001') , ('2020-05-21 12:02:01', 'http://www.daum.net/path1/index.php?k1=v1&k2=v2#Ref1', 'htt..

SQL & DB/PostgreSQL 2021.01.06

[AWS] 아마존 DB와 PostgreSQL 연동하기(+postgis)

이번 포스팅에서는 이전포스팅에서 만든 아마존 데이터베이스와 PostgreSQL을 연동해보겠습니다. AMS와 PostgreSQL연동하기 먼저 저번에 만든 데이터베이스를 눌러 연결&보안의 엔드포인트를 복사하고 포트번호를 확인합니다.(포트번호는 기본 5432입니다) 이후 PgAdmin에 접속하고, Dashbord의 Add New Server를 눌러줍니다. 먼저 서버이름을 정해주고 Connection탭으로 넘어갑니다. 그리고 복사한 엔드포인트를 Host name/address에 넣고, 아마존 DB를 만들었을때 비밀번호를 넣습니다. 이렇게 하면 연결이 되어야하나..... 대부분 안될겁니다... ㅠㅠ Unable to connect to server: timeout expired aws 이런 오류가 뜰 확률이 높습..

반응형