두 개 이상의 테이블을 결합하여 여러 행을 검색하는 것입니다.

 

SELECT * FROM weather JOIN cities ON (weather.city = cities.name);

실행 결과

 

JOIN TYPE

 

 

SELECT * FROM weather LEFT OUTER JOIN cities ON (weather.city = cities.name);

LEFT JOIN 실행 결과

SELECT CURRENT_USER, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP;

실행 결과

 

이번달의 첫번째 날과 마지막 날 구하기 입니다.

 

SELECT cast(date_trunc('month',current_date) as date) as firstday, (date_trunc('MONTH', current_date) + INTERVAL '1 MONTH - 1 day')::date lastday;

실행 결과

 

SELECT (last_name || '_' || first_name) AS full_name, last_name, first_name FROM employees

실행 예제

 

COALESCE(A, B);

 

A값이 NULL일 경우 B로 반환합니다.

 

select category_id, description, COALESCE(description, 'empty') as COALESCE_RESULT from categories;

 

실행 결과

 

SELECT (ROW_NUMBER() OVER()) AS ROWNUM, * FROM customers limit 10

실행 예제1

 

 

SELECT * FROM customers limit 10

실행 예제2

 

스키마는 테이블의 명명 된 모음입니다. 스키마에는 뷰, 인덱스, 시퀀스, 데이터 유형, 연산자 및 함수가 포함될 수도 있습니다. 스키마는 운영 체제 레벨의 디렉토리와 유사하지만 스키마를 중첩 할 수 없다는 점이 다릅니다

 

스키마란

- 테이블의 명명된 모음.

- 뷰, 인덱스, 시퀀스, 데이터 유형, 연산자, 함수가 포함될 수 있음.

- 중첩 되지 않음.

 

스키마를 먼저 생성합니다.

CREATE SCHEMA MYSCHEMA;

 

생성된 스키마에 테이블을 생성합니다.

CREATE TABLE MYSCHEMA.COMPANY
(
    ID       INT              NOT NULL PRIMARY KEY
   ,NAME     VARCHAR (20)     NOT NULL
   ,AGE      INT              NOT NULL
   ,ADDRESS  CHAR (25)
   ,SALARY   DECIMAL (18, 2)
);

 

테이블 삭제하기 입니다.

 

COMPANY 라는 이름을 가지는 테이블을 삭제 합니다.

DROP TABLE COMPANY

1개의 기본키를 가지는 테이블 생성하기.

CREATE TABLE COMPANY
(
	ID      INT PRIMARY KEY NOT NULL,
	NAME    TEXT				NOT NULL,
	AGE     INT					NOT NULL,
	ADDRESS CHAR(50),
	SALARY  REAL
);

 

PostgreSQL 데이터 타입 테이블 입니다.

 

데이터 타입 별칭 설명
bigint int8 부호있는 8 바이트 정수
bigserial serial8 자동 증가 8 바이트 정수
bit [ (n) ]   고정 길이 비트 문자열
bit varying [ (n) ] varbit [ (n) ] 가변 길이 비트 열
boolean bool 논리 부울 (true/false)
box   rectangular box on a plane
bytea   이진 데이터 (바이트 배열)
character [ (n) ] char [ (n) ] 고정 길이 문자열
character varying [ (n) ] varchar [ (n) ] 가변 길이 문자열
cidr   IPv4 혹은 IPv6 네트워크 주소
circle   circle on a plane
date   달력 날짜 (년, 월, 일)
double precision float8 배정 밀도 부동 소수점 수 (8 bytes)
inet   IPv4 혹은IPv6 호스트 주소
integer int, int4 부호가 있는 4 바이트 정수
interval [ fields ] [ (p) ]   시간 범위
json   텍스트 JSON 데이터
jsonb   이진 JSON 데이터, decomposed
line   infinite line on a plane
lseg   line segment on a plane
macaddr   MAC 주소
macaddr8   맥 주소 (EUI-64 format)
money   통화량
numeric [ (p, s) ] decimal [ (p, s) ] 선택 가능한 정밀도의 정확한 숫자
path   geometric path on a plane
pg_lsn   PostgreSQL 로그 시퀀스 번호
point   geometric point on a plane
polygon   closed geometric path on a plane
real float4 단 정밀도 부동 소수점 수 (4 바이트)
smallint int2 부호가 있는 2 바이트 정수
smallserial serial2 2 바이트 정수 자동 증가
serial serial4 4 바이트 정수 자동 증가
text   가변 길이 문자열
time [ (p) ] [ without time zone ]   시간대 (시간대 없음)
time [ (p) ] with time zone timetz 시간대를 포함한 시간대
timestamp [ (p) ] [ without time zone ]   날짜 및 시간 (시간대 없음)
timestamp [ (p) ] with time zone timestamptz 날짜 및 시간 (시간대 포함)
tsquery   텍스트 검색 쿼리
tsvector   텍스트 검색 문서
txid_snapshot   사용자 수준 트랜잭션 ID 스냅 샷
uuid   보편적으로 고유한 식별자
xml   XML 데이터

+ Recent posts