Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- python
- Spring Security
- spring
- baekjoon
- javascript
- 스프링부트
- postgresql
- 자료구조
- 시큐리티
- DB
- 자바
- backjoon
- JPA
- 스프링 부트 쇼핑몰 프로젝트 with JPA
- 리눅스
- 네트워크
- 백준
- CS
- 플러터
- 데이터
- Flutter
- springboot
- Java
- 자바스크립트
- CS지식
- 스프링
- 프로그래머스
- 파이썬
- Oracle
- 데이터베이스
Archives
- Today
- Total
Jin's Dev Story
[PostgreSQL] PostgreSQL 필터링 조회 (IN 연산자) 본문
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_date 내림차순으로 정렬하여 조회
SELECT customer_id, rental_id, return_date
FROM rental
WHERE customer_id IN(1, 2)
ORDER BY return_date desc;
2) OR연산자를 사용하여 rental 테이블의 customer_id 가 1 또는 2 인 값을 return_date 내림차순으로 정렬하여 조회
SELECT customer_id, rental_id, return_date
FROM rental
WHERE customer_id = 1 OR customer_id = 2
ORDER BY return_date desc;
3) NOT IN연산자를 사용하여 rental 테이블의 customer_id 가 1과 2 가 아닌 값을 return_date 내림차순으로 정렬하여 조회
SELECT customer_id, rental_id, return_date
FROM rental
WHERE customer_id NOT IN(1, 2)
ORDER BY return_date desc;
4) AND연산자를 사용하여 rental 테이블의 customer_id 가 1과 2 가 아닌 값을 return_date 내림차순으로 정렬하여 조회
SELECT customer_id, rental_id, return_date
FROM rental
WHERE customer_id <> 1 AND customer_id <> 2
ORDER BY return_date desc;
5) 서브 쿼리를 사용하여 rental 테이블의 return_date 가 2005-05-27 인 customer_id를 조회
- cast는 return_date를 date type으로 변환시켜주는 함수
SELECT customer_id FROM rental WHERE CAST (return_date as date) = '2005-05-27';
6) IN 연산자에 서브 쿼리를 사용하여 rental 테이블의 return_date 가 2005-05-27 인 customer_id 값으로 customer 테이블의 customer_id 컬럼을 비교하여 first_name, last_name의 데이터를 조회
SELECT first_name, last_name
FROM customer
WHERE customer_id IN (
SELECT customer_id
FROM rental
WHERE CAST (return_date as date) = '2005-05-27
);
'Database > PostgreSQL' 카테고리의 다른 글
[PostgreSQL] PostgreSQL 패턴 검색 (LIKE 문) (1) | 2024.06.11 |
---|---|
[PostgreSQL] PostgreSQL 범위 조회 (BETWEEN 연산자) (0) | 2024.06.11 |
[PostgreSQL] PostgreSQL 결과의 제한 (FETCH 절) (0) | 2024.06.11 |
[PostgreSQL] PostgreSQL 결과의 제한 (LIMIT 절) (0) | 2024.06.11 |
[PostgreSQL] PostgreSQL 필터링 조회 (WHERE 절) (0) | 2024.06.10 |