[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 |