(TIL) 2024-12-03
오늘 팀 과제로 인해서 회의하고 작업하느라 따로 공부할 시간이 없었다. 과제를 진행하면서 데이터를 조회 하기 위해 사용해야 할 조건문등을 찾아본 것을 정리해 보았다. 기본적인 부분은 제외하고 특별하게 자주 쓰일 것 같은 것만 기록해 보았다.
- 다른 값과의 비교 (not)
1 2 3 4 5 6 7
const users = await prisma.user.findMany({ where: { NOT: { age: 25 // age가 25가 아닌 사용자 검색 } } });
- 범위 비교 (in, notIn, lt, lte, gt, gte)
1 2 3 4 5 6 7 8 9 10
const users = await prisma.user.findMany({ where: { age: { in: [18, 19, 20] // age가 18, 19, 20 중 하나인 사용자 검색 }, score: { gt: 80 // score가 80보다 큰 사용자 검색 } } });
- 문자열 비교 (contains, startsWith, endsWith):
1 2 3 4 5 6 7 8 9 10
const users = await prisma.user.findMany({ where: { name: { contains: "John" // 이름에 "John"이 포함된 사용자 검색 }, email: { endsWith: "@example.com" // 이메일이 "@example.com"으로 끝나는 사용자 검색 } } });
- AND, OR 연산자 사용:
1 2 3 4 5 6 7 8 9 10 11
const users = await prisma.user.findMany({ where: { AND: [ { age: { gt: 20 } }, // age가 20보다 큰 사용자 { OR: [ { name: { contains: "John" } }, // 이름에 "John"이 포함된 사용자 { email: { endsWith: "@example.com" } } // 이메일이 "@example.com"으로 끝나는 사용자 ]} ] } });
- JOIN (INCLUDE)
1 2 3 4 5 6 7 8
const result = await client.product.findMany({ where: { id: 2, }, include: { user: true, } });
This post is licensed under CC BY 4.0 by the author.