쿼리문 공부
쿼리문 공부
WHERE 문으로 조건에 맞는 데이터를 검색
SQL에서는 원하는 조건에 맞는 검색을 할 때 WHERE 문을 사용한다. 기본 형식은 다음과 같다.
SELETE 열 FROM 테이블 WHERE 열 = 조건값
WHERE 문의 ‘열’에는 검색할 열을 입력하고, 조건값으로는 사용자가 찾을 데이터값을 넣는다. 그리고 연산자는 다양하지만 여기서는 열에 있는 데이터값과 조건값이 일치하는 것을 검색하기 위해 ‘=’ 기호를 사용했다.
where 문에 and 연산자가 사용되어 subject와 content 열을 조회하는 것을 확인할 수 있다.
이렇듯 리포지터리의 메서드명은 데이터를 조회하는 쿼리문의 where 조건을 결정하는 역할을 한다. 여기서는 findBySubject, findBySubjectAndContent 두 메서드만 알아봤지만 상당히 많은 조합을 사용할 수 있다. 조합할 수 있는 메서드를 간단하게 표로 정리해 보았다. 한번 살펴보자.
| SQL 연산자 | 리포지터리의 메서드 예시 | 설명 |
|---|---|---|
| And | findBySubjectAndContent(String subject, String content) |
Subject, Content 열과 일치하는 데이터를 조회 |
| Or | findBySubjectOrContent(String subject, String content) |
Subject열 또는 Content 열과 일치하는 데이터를 조회 |
| Between | findByCreateDateBetween(LocalDateTime fromDate, LocalDateTime toDate) |
CreateDate 열의 데이터 중 정해진 범위 내에 있는 데이터를 조회 |
| LessThan | findByIdLessThan(Integer id) |
Id 열에서 조건보다 작은 데이터를 조회 |
| GreaterThanEqual | findByIdGreaterThanEqual(Integer id) |
Id 열에서 조건보다 크거나 같은 데이터를 조회 |
| Like | findBySubjectLike(String subject) |
Subject 열에서 문자열 ‘subject’와 같은 문자열을 포함한 데이터를 조회 |
| In | findBySubjectIn(String[] subjects) |
Subject 열의 데이터가 주어진 배열에 포함되는 데이터만 조회 |
| OrderBy | findBySubjectOrderByCreateDateAsc(String subject) |
Subject 열 중 조건에 일치하는 데이터를 조회하여 CreateDate 열을 오름차순으로 정렬하여 반환 |
댓글남기기