NULL
WHERE (조건), LIKE, OR, AND 연산자 본문
WHERE 조건;
= 테이블명에서 열 이름을 가지고 오는데 조건에 맞는것만 가지고 와라
기본적인 사용법
SELECT * FROM Products WHERE SupplierID = 1
//Products 테이블에서 SupplierID열 중에서 값이 1인 것만 가지고 와라
논리연산자
SELECT ProductID, Price FROM Products WHERE Price >=15;
// Products테이블에서 ProductID, Price열 중에서 Price의 값이 15이상인 값을 가져와라
결과값 :
목록포함 (IN, NOT IN)
SELECT ProductID, SupplierID FROM Products WHERE SupplierID IN ('1', '2');
// Products테이블에서 ProductID, SupplierID열 중에서 SupplierID 값이 1이거나 2인 값들
결과값 :
위와 반대로 아래 값은 NOT IN을 써줌으로써 ('1', '2')가
있는 값들을 빼고 나머지 값을 불러온다.
( 아래 코드와 결과값 참고 )
SELECT ProductID, SupplierID FROM Products WHERE SupplierID NOT IN ('1', '2');
// Products테이블에서 ProductID, SupplierID열 중에서 SupplierID 값이 1이거나 2가 없는 값들
결과값 :
LIKE 연산자
LIKE는 문자열 패턴을 검색하는데 사용한다.
우리는 "박스"라고 검색하면 정확히 박스라는 글이 나오기도 하지만
동시에 "네모박스", "세모박스" 등 박스가 들어간 다른 문자열들도 검색된다.
박스와 네모박스는 다른 단어라서 검색이 되면 안될 때
LIKE를 사용하면 해당하는 단어만 검색된다.
LIKE 사용법
SELECT * FROM 테이블 WHERE 컬럼 LIKE '패턴'
패턴 부분은 두가지 방법이 존재한다.
1. %
%는 모든 문자를 뜻한다.
SELECT ProductID, Unit, Price FROM Products WHERE Unit LIke '%boxes%';
위에 코드를 보면
Products 테이블에 Unit열에서 boxes값을 가지고 있는 값들을 조회하는데
앞뒤로 %가 존재하는데 이것은 앞 뒤로 모든문자 사이에 boxes값이 존재하면 이라는 뜻이다.
만약 앞 %를 뺀다면 boxes로 시작하면서 뒤에서 모든문자가 포함된 값들을 불러온다는 뜻이며
반대로
뒤에 %를 뺀다면 앞에 모든문자를 포함하면서 boxes값으로 끝나는 값을 가져온다는 뜻이다.
결과값 :
2. _ ( 언더바 )
SELECT ProductID, Unit, Price FROM Products WHERE Unit LIke '___boxes';
_언더바는 예를 들면 _ 한개당 boxes 앞에 혹은 뒤에 썼다면
뒤에 해당값인 boxes가 존재하는 값을 불러온다.
다음 결과값을 참고해보자.
boxes앞 _언더바 3개, 즉 boxes값이 3칸 뒤에 존재하는 값을 불러온다.
Unit열의 값들을 자세히 보면 공백문자까지 포함하여
boxes값이 3칸 뒤에 있는 값을 불러온 것을 확인할 수 있다.
OR, AND 연산자
AND 코드참고
SELECT ProductID, Unit, Price FROM Products WHERE Unit LIKE '%boxes%' AND Price >= 15;
// Products 테이블에 ProductID, Unit, Price열 중에서
// Unit열에 모든문자 사이에 boxes값이 들어 있으면서
// Price 값이 15이상인 값을 불러온다.
OR 코드참고
SELECT ProductID, Unit, Price FROM Products WHERE Unit LIKE '%boxes%' OR Price >= 15;
// Products 테이블에 ProductID, Unit, Price열 중에서
// Unit열에 모든문자 사이에 boxes값이 들어 있거나
// Price 값이 15이상인 값을 불러온다.
'SQL' 카테고리의 다른 글
GROUP BY, HAVING (그룹화 데이터 조회) (0) | 2022.02.15 |
---|---|
COUNT함수 (데이터 갯수 가져오기), AS문(이름 재지정) (0) | 2022.02.15 |
SELECT DISTINCT ( 중복제거 ) (0) | 2022.02.14 |
ORDER BY(정렬) (0) | 2022.02.14 |
SELECT 문법(검색), LIMIT(갯수제한) (0) | 2022.02.14 |