우리는 테이블에서 우리가 원하는 데이터를 가져올 수 있다.
예를 들어 이런 테이블이 있다고 하자.
위의 테이블에서 내가 만약 출판년도가 2017년인 책의 정보를 가져오고 싶다면, python과 마찬가지로 부등호를 이용한다.
select *
from books
where released_year = 2017;
위와 같은 코드를 적용하면, 출판년도가 2017년인 책의 데이터가 반환된다.
입력 가능한 부등호 종류는
= 2017 2017과 같다.
> 2017 2017보다 크다.
< 2017 2017보다 작다.
>= 2017 2017보다 크거나 같다 (순서 중요)
<= 2017 2017보다 작거나 같다 (순서 중요)
!= 2017 2017과 같지 않다 (순서 중요)
가 있다. 위의 코드에 모두 적용 가능하다.
그럼 출판년도가 2004년(포함) 이후 , 2015년(포함) 이전인 책의 정보는 어떻게 찾을까.
and 로 두 경우를 함께 표현한다.
1
2
3
|
select *
from books
where released_year >= 2004 and released_year <= 2015 ;
|
cs |
위와 같이 and로 2000년 이후 , 2017년 이전을 함께 표현한다.
해당년을 포함한다고 예를 들었으니 >= , <= 를 사용하였다.
이렇게 써도 되지만, 좀 더 간편한 SQL에서 사용할 수 있는
between 이라는 것이 있다.
between 은 무엇과 무엇 사이라는 개념이다.
위의 코드를 바꿔보면
1
2
3
|
select *
from books
where released_year between 2004 and 2015 ;
|
cs |
으로 바꿀 수 있다. 두 가지 방법의 실행 화면은 같다.
처음의 테이블에서 출판년도가 조건에 맞는 것만 출력 되는것을 볼 수 있다.
여기서 주의 할 점은 between A and B 는 기본적으로 A와 B의 사이를 나타내면서 A와 B의 값을 포함한다.
부등호로 >=, <= 이것과 같은 뜻이다.
between 인 not과 같이 사용 할 수 있다.
1
2
3
|
select*
from books
where released_year not between 2004 and 2015 ;
|
cs |
위와 같은 코드에 not 이 들어갔다.
not 은 between 앞에 써야 한다.
not이 들어가면서 반대의 개념인, 2004부터 2015 사이 ( 2004, 2015를 포함한) 가 아닌 데이터를 찾는 코드이다.
not은 between 말고도 쓰이는 곳이 많으니 꼭 참고한다.
'IT 프로그래밍 관련 > MySQL' 카테고리의 다른 글
MySQL case end 조건식 (0) | 2021.03.17 |
---|---|
MySQL에서의 in 과 not in (0) | 2021.03.17 |
MySQL 시간관련데이터 처리 (0) | 2021.03.16 |
MySQL 문자열에 포함된 단어 검색 like (0) | 2021.03.16 |
MySQL limit 와 offset (0) | 2021.03.16 |
댓글