데이터베이스(DB) - WHERE(술어,연산자,예제,문제)
WHERE절에 조건으로 사용할 수 있는 술어
술어 | 연산자 | 예 |
비교 | =, <>, <, <=, >, >= | price < 20000 |
범위 | BETWEEN | price BETWEEN 10000 AND 20000 |
집합 | IN, NOT IN | price IN (10000, 20000, 30000) |
패턴 | LIKE | bookname LIKE '축구의 역사' |
NULL | IS NULL, IS NOT NULL | price IS NULL |
복합조건 | AND, OR, NOT | (price < 20000) AND (bookname LIKE '축구의 역사') |
문제 1. 가격이 20,000원 미만인 도서를 검색하시오
SELECT *
FROM book
WHERE price < 20000;
●범위를 정해보자
문제 2. 가격이 10,000원 이상 20,000원 이하인 도서를 검색하시오. (BETWEEN)
SELECT *
FROM book
WHERE price BETWEEN 10000 AND 20000;
★BETWEEN은 논리 연산자인 AND를 사용할 수 있다.(결과는 위와 동일)
SELECT *
FROM book
WHERE price >= 10000 AND price <= 2000;
●집합을 해보자
문제 3. 출판사가 '굿스포츠' 혹은 '대한미디어'인 도서를 검색하시오. (IN)
SELECT *
FROM book
WHERE publisher IN ('굿스포츠', 대한미디어');
문제 4. 출판사가 '굿스포츠' 혹은 '대한미디어'가 아닌 출판사를 검색하시오.(NOT IN)
SELECT *
FROM book
WHERE publisher NOT IN ('굿스포츠', '대한미디어');
●패턴을 알아보자
문제 5. '축구의 역사'를 출간한 출판사를 검색하시오. (LIKE)
SELECT bookname, publisher
FROM Book
WHERE bookname LIKE '축구의 역사';
문제 6. 도서이름에 '축구'가 포함된 출판사를 검색하시오.(%%)
SELECT bookname, publisher
FROM book
WHERE bookname LIKE '%축구%'
문제 7. 도서이름의 왼쪽 두 번째 위치에 '구'라는 문자열을 갖는 도서를 검색하시오.(_%)
SELECT *
FROM book
WHERE bookname LIKE '_구%';