일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- JdbcTemplate
- JDBC TEMPLATE
- XML
- 리눅스
- Dependency Injection
- Framework
- spring
- Di
- Spring JDBC
- Linux
- 마이바티스
- spring aop
- POJO
- AOP
- pointcut
- STS
- Spring Boot
- 컨테이너
- 프로퍼티
- @Spring-Test
- Ubunt
- SpringJDBC
- @test
- java spring
- spring framework
- @JUnit
- unix
- myBatis
- java
- @AspectJ
Archives
- Today
- Total
개키우는개발자 : )
PostgreSQL EXCEPT 연산 본문
반응형
EXCEPT 연산 이란?
맨위에 SELECT문의 결과 집합에서 그 아래에 있는 SELECT문의 결과 집합을 제외한 결과를 반환합니다.
LEFT ONLY
기본문법
두개의 SELECT문 간 컬럼의 개수는 동일해야 하고 해당 순서의 열에는 서로 호환되는 데이터 유형 이어야 합니다.
SELECT
COLUMN_1_1,
COLUMN_1_2
FROM
TABLE_NAME_1
EXCEPT
SELECT
COLUMN_2_1,
COLUMN_2_2
FROM
TABLE_NAME_2
ORDER BY ...
실습
- INVENTORY 테이블과 FILM테이블을 FILM_ID 컬럼 기준으로 INNER JOIN 합니다.
SELECT
DISTINCT INVENTORY.FILM_ID,
TITLE
FROM
INVENTORY
INNER JOIN FILM ON
FILM.FILM_ID = INVENTORY.FILM_ID
ORDER BY
TITLE;
재고가 존재하는 영화 ID값이 조회 됩니다.
- 그렇다면 재고가 존재하지 않는 ID값을 조회 할때 EXCEPT를 사용합니다.
SELECT
FILM_ID,
TITLE
FROM
FILM
EXCEPT
SELECT
DISTINCT INVENTORY.FILM_ID,
TITLE
FROM
INVENTORY
INNER JOIN FILM ON
FILM.FILM_ID = INVENTORY.FILM_ID
ORDER BY
TITLE;
1. FILM 테이블의 존재하는 모든 데이터를 조회합니다. -> FILM_ID는 기본값 이기 때문에 중복되지 않습니다.
2. INVENTORY 테이블과 FILM테이블을 INNER JOIN하여 재고가 있는 값을 조회합니다.
3. 모든 데이터 - 재고 데이터 = 재고가 없는데이터 를 조회할 수 있습니다.
4. EXCEPT는 A - B = C 의 값을 조회합니다.
반응형
'PostgreSQL > 집합 연산자와 서브쿼리' 카테고리의 다른 글
PostgreSQL ANY 연산자 (0) | 2019.11.10 |
---|---|
PostgreSQL 서브쿼리 (0) | 2019.11.10 |
PostgreSQL INTERSECT 연산 (0) | 2019.11.10 |
PostgreSQL UNION 연산 , UNION ALL 연산 (0) | 2019.11.10 |
PostgreSQL 집합 연산자 실습 테이블 만들기 (0) | 2019.11.10 |
Comments