Search (검색) 쿼리
member.username.eq("member1") // username = 'member1'
member.username.ne("member1") //username != 'member1'
member.username.eq("member1").not() // username != 'member1'
member.username.isNotNull() //이름이 is not null
member.age.in(10, 20) // age in (10,20)
member.age.notIn(10, 20) // age not in (10, 20)
member.age.between(10,30) //between 10, 30
member.age.goe(30) // age >= 30
member.age.gt(30) // age > 30
member.age.loe(30) // age <= 30
member.age.lt(30) // age < 30
member.username.like("member%") //like 검색
member.username.contains("member") // like ‘%member%’ 검색
member.username.startsWith("member") //like ‘member%’ 검색
Select (조회) 쿼리
// 리스트 조회
List<Member> fetch = queryFactory
.selectFrom(member)
.fetch();
// 단건 조회
Member findMember1 = queryFactory
.selectFrom(member)
.fetchOne();
// 처음 한 건 조회
Member findMember2 = queryFactory
.selectFrom(member)
.fetchFirst();
// 페이징에서 사용
QueryResults<Member> results = queryFactory
.selectFrom(member)
.fetchResults();
// count 쿼리로 변경
long count = queryFactory
.selectFrom(member)
.fetchCount();
Sorting (정렬) 쿼리
public void sort() {
List<Member> result = queryFactory
.selectFrom(member)
.orderBy(member.age.desc(), member.username.asc())
.fetch();
}
* desc(), asc() : 내림차순, 오름차순 정렬
* nullsLast(), nullsFirst() : null 데이터 순서 부여
집합 함수 쿼리
select
COUNT(m), // 회원 수
SUM(m.age), // 나이의 합
AVG(m.age), // 평균 나이
MAX(m.age), // 최대 나이
MIN(m.age) // 최소 나이
from Member m