[PostgreSQL] PostgreSQL 조인
·
Database/PostgreSQL
조인이란?2개 이상의 테이블에 있는 정보 중 사용자가 필요한 집합에 맞게 가상의 테이블처럼 만들어서 결과를 보여주는 것 종류 설명INNER 조인특정 컬럼을 기준으로 정확히 매칭된 집합을 출력한다.OUTER 조인특정 컬럼을 기준으로 매칭된 집합을 출력하지만 한쪽의 집합은 모두 출력하고 다른 한쪽의 집합은 매칭되는 컬럼의 값 만을 출력한다.SELF 조인동일한 테이블 끼리의 특정 컬럼을 기준으로 매칭되는 집합을 출력한다.FULL OUTER 조인INNER, LEFT OUTER, RIGHT OUTER 조인 집합을 모두 출력한다.CROSS 조인Cartesian Product라고도 하며 조인되는 두 테이블에서 곱집합을 반환한다.NATURAL 조인특정 테이블의 같은 이름을 가진 컬럼 간의 조인집합을 출력한다.
[PostgreSQL] PostgreSQL 유효하지 않은 값 (NULL 연산자)
·
Database/PostgreSQL
NULL 연산자 문법특정 컬럼의 값이 IS NULL인지 NOT NULL인지 판단하는 연산자 기본 문법column_name 값이 null인 데이터 조회SELECT * FROM TABLE_NAMEWHERE COLUMN_NAME IS NULL;column_name 값이 null이 아닌 데이터 조회SELECT * FROM TABLE_NAMEWHERE COLUMN_NAME IS NOT NULL; 실습 준비CONTACTS 테이블 만들기create table CONTACTS( ID INT generated by default as identity, FIRST_NAME VARCHAR(50) not null, LAST_NAME VARCHAR(50) not null, EMAIL VARCHAR(255) not null, P..
[PostgreSQL] PostgreSQL 패턴 검색 (LIKE 문)
·
Database/PostgreSQL
LIKE 문법집합에서 어떠한 컬럼의 값이 특정 값과 유사한 패턴을 갖는 집합을 출력하는 연산자 기본 문법    ⇒ % : 문자 혹은 문자열이 매칭 되었다고 판단    ⇒ _ : 한개의 문자이든지 매칭 되었다고 판단특정 패턴과 유사한 값을 조회SELECT *FROM TABLE_NAMEWHERE COLUMN_NAMELIKE 특정패턴특정 패턴과 유사하지 않은 집합SELECT *FROM TABLE_NAMEWHERE COLUMN_NAMENOT LIKE 특정패턴 실습  1) CUSTOMER 테이블의 FIRST_NAME이 Jen으로 시작하는 데이터를 조회SELECT first_name, last_nameFROM CUSTOMERWHERE first_name LIKE 'Jen%';  2) LIKE 패턴을 참과 거짓으로 ..
[PostgreSQL] PostgreSQL 범위 조회 (BETWEEN 연산자)
·
Database/PostgreSQL
BETWEEN 연산자 문법특정 범위 안에 들어가는 집합을 출력하는 연산자 기본 문법COLUMN_NAME 값이 VALUE_A와 VALUE_B 사이에 있는 값을 조회SELECT *FROM TABLE_NAMEWHERE COLUMN_NAME BETWEEN VALUE_A AND VALUE_B;-- BETWEEN 연산자를 사용하지 않으면COLUMN_NAME >= VALUE_A AND COLUMN_NAME COLUMN_NAME 값이 VALUE_A와 VALUE_B 사이에 있지 않은 값을 조회SELECT * FROM TABLE_NAMEWHERE COLUMN_NAME BETWEEN VALUE_A AND VALUE_B;-- BETWEEN 연산자를 사용하지 않으면COLUMN_NAME VALUE_B 실습  1) AMOUNT가..
[PostgreSQL] PostgreSQL 필터링 조회 (IN 연산자)
·
Database/PostgreSQL
IN 연산자 문법특정 집합 (컬럼 혹은 리스트)에서 특정 집합 혹은 리스트가 존재하는지 판단하는 연산자 기본 문법column_name이 가지고 있는 집합에서 value1, 2 등의 값이 존재하는지 확인SELECT * FROM TABLE_NAME WHERE column_name IN(value1, value2, ...)column_name이 가지고 있는 집합에서 table_name2 테이블의 column_name2의 집합이 존재하는지 확인SELECT * FROM TABLE_NAME WHERE column_name IN(SELECT COLUMN_NAME2 FROM TABLE_NAME2); 실습  1) IN연산자를 사용하여 rental 테이블의 customer_id 가 1 또는 2 인 값을 return_dat..
[PostgreSQL] PostgreSQL 결과의 제한 (FETCH 절)
·
Database/PostgreSQL
FETCH 문법LIMIT와 마찬가지로 조회한 결과의 개수를 제한하는 역햘을 하며, 부분 범위 처리 시 사용 기본 문법출력하는 행의 수를 지정하며, N을 입력하지 않고 ROW ONLY만 입력하면 1개의 데이터만 조회SELECT * FROM TABLE_NAME FETCH FIRST [N] ROW ONLY출력하는 행의 범위를 지정SELECT * FROM TABLE_NAME OFFSET N ROWS FETCH FIRST [N] ROW ONLY 실습  1) film 테이블의 1건의 데이터를 title 컬럼 기준으로 조회SELECT film_id, titleFROM filmORDER BY titleFETCH FIRST ROW ONLY;  2) film 테이블의 20건의 데이터를 title 컬럼 기준으로 조회SELE..