본문 바로가기
DB/PostgreSQL

[SQL] SELECT (WHERE, AND, OR)

by returnpie 2020. 9. 22.

[SQL] SELECT (WHERE, AND, OR)

 

이번에는 특정 조건에 맞는 데이터를 조회하는 방법에 대해 알아보겠습니다.

 

Name Choice
Aiden Coffee
Jarvis Coffee
Aiden Cake
Tony Juice

 

SELECT문법에 조건을 추가할때는 WHERE 키워드를 사용합니다.

 

WHERE 키워드는 다음과 같이 사용합니다.

 

 

 

 

먼저 이름이 Aiden인 데이터는 아래처럼 조회할 수 있습니다.

 

SELECT name FROM table WHERE name = 'Aiden';

 

Name Choice
Aiden Coffee
Aiden Cake

 

두가지 조건을 동시에 주는 경우는 어떻게 할 수 있을까요?

 

AND 또는 OR을 이용해 조건을 추가할 수 있습니다.

 

# 이름이 Aiden이고 Coffee를 선택한 데이터 조회

 

SELECT name FROM table WHERE name = 'Aiden' AND choice = 'Coffee';

 

Name Choice
Aiden Coffee

 

아래는 다른 데이터 테이블에서의 몇가지 예제입니다.

 

SELECT title, rental_rate, replacement_cost, rating FROM film

 

TITLE RENTAL_RATE REPLACEMENT_COST RATING
Iron-man 3.99 24.99 R
Hulk 2.99 13.99 PG-13
Spider-man 8.99 20.99 R
Thor 5.99 15.99 PG-20

 

# rental_rate가 4보다 크고, replacement_cost가 19.99이상이고 rating이 'R'인 데이터 조회

 

SELECT title FROM film
WHERE rental_rate > 4 AND replacement_cost >= 19.99
AND rating='R';

 

TITLE
Spider-man

 

COUNT와 함께 사용하면 데이터의 개수를 알 수 있습니다.

 

# rental_rate가 4보다 크고, replacement_cost가 19.99이상이고 rating이 'R'인 데이터의 개수

 

SELECT COUNT(title) FROM film
WHERE rental_rate > 4 AND replacement_cost >= 19.99
AND rating='R';

 

COUNT
1

 

# rating이 'R'이거나 'PG-13'인 데이터의 개수

 

SELECT COUNT(title) FROM film
WHERE rating = 'R' OR rating = 'PG-13';

 

COUNT
3

 

# rating이 'R'이 아닌 데이터의 개수

 

SELECT COUNT(title) FROM film
WHERE rating != 'R'

 

COUNT
2

'DB > PostgreSQL' 카테고리의 다른 글

[SQL] SELECT (IN)  (0) 2020.09.22
[SQL] SELECT (LIMIT, BETWEEN)  (0) 2020.09.22
[SQL] SELECT (ORDER BY, ASC, DESC)  (0) 2020.09.22
[SQL] SELECT ( SELECT, DISTINCT, COUNT )  (0) 2020.09.22