https://www.tutorialspoint.com/postgresql/postgresql_having_clause.htm
PostgreSQL - LIKE 절
1.
이 테이블에서
봉급이 65000이상인 것의 나이보다 많은 것의 모든 정보를 가져와라
postgres-#

select * from company
where age > (select age from company where salary>65000);
2.
age에 2가 들어가는 데이터들의 모든 정보

------------------------------------------------------------------------------------------------------------------------------------------------------
PostgreSQL - LIMIT 절
3.
4개의 데이터 정보 출력

select * from company limit 4;
4.
3번째 위치에서 시작하여 3개의 데이터 출력

postgres=# select * from company limit 3 offset 2;
------------------------------------------------------------------------------------------------------------------------------------------------------
PostgreSQL - WITH 절
with쿼리는 더 큰 쿼리에서 사용할 보조문을 작성하는 방법을 제공한다.
복잡하고 큰 쿼리를 쉽게 읽을 수 있는 간단한 형식으로 분해하는데 도움이 된다.
cte는 하나의 쿼리에 대해서만 존재하는 임시 테이블을 정의하는 것으로 생각 할 수 있다.
cte쿼리인 with쿼리는 언제쓰나?
하위 쿼리가 여러 번 실행될 때 유용하다.

create table company2( ~~)로 company2테이블을 생성하고
with moved_row1 as(delete from company where salary>30000 returning *)
insert into company2 (select * from moved_row1);
company에서 30000이상의 샐러리를 받는 것을 삭제하는것을 moved_row1로 정의하고 moved_row1로 삭제한다.
그렇게 정의된 moved_row1을 company2테이블에 insert시킨다.
확인해보면
select * from company;
30000이하의 샐러리데이터만 남고
select * from company2;
30000이상의 데이터는 이동한다.
------------------------------------------------------------------------------------------------------------------------------------------------------
PostgreSQL - HAVING Clause
HAVING 절은 GROUP BY 절에 의해 생성된 그룹에 조건을 배치합니다.

------------------------------------------------------------------------------------------------------------------------------------------------------
PostgreSQL - 제약 조건
1.unique 제약 조건
특정 열에서 동일한 값을 갖는 것을 방지
2.기본키 제약조건
기본 키는 테이블 간의 관계를 생성할 때 다른 테이블의 외래 키가 됩니다
기본 키 열은 NULL 값을 가질 수 없습니다.
3. 외래키 제약조건
열(또는 열 그룹)의 값이 다른 테이블의 일부 행에 나타나는 값과 일치해야 함을 지정합니다
참조 무결성을 유지한다고 말합니다.
4. check 제약조건
조건이 false로 평가되면 레코드가 제약 조건을 위반하고 테이블에 입력되지 않습니다.
SALARY REAL CHECK(SALARY > 0)
);
샐러리를 0으로 가질 수 없다.
5. 제외제약
USING gist 는 구축하고 시행을 위해 사용할 인덱스 유형입니다.
CREATE EXTENSION btree_gist
으로 먼저 btree_gist를 구축해놓는다.
일반 스칼라 데이터 유형에 대한 제외 제약 조건을 정의하는 btree_gist 확장을 설치합니다

name with= 로
name은 같아야하고
age with <> 로
나이가 다르다
라는 조건두개가 성립할 경우 제외(exclude) 한다.

제약 조건 삭제
ALTER TABLE table_name DROP CONSTRAINT some_name;
'postgresql' 카테고리의 다른 글
인덱스를 왜 사용하는가? (0) | 2022.06.29 |
---|---|
23 데이터베이스 다루기 (0) | 2022.06.29 |
22.4. Dropping Roles (0) | 2022.06.29 |
22.3. Role Membership (0) | 2022.06.29 |
22.2. Role Attributes (0) | 2022.06.29 |