[Prisma] `where` 절을 이용한 레코드 쿼리

김까치·2023년 5월 31일
1

Prisma Client에서 where 절을 사용해 데이터베이스에서 특정 조건을 가진 레코드를 쿼리할 수 있습니다.

  1. 동등 비교 (equals):
const user = await prisma.user.findMany({
  where: {
    id: 1 // id가 1인 사용자 검색
  }
});
  1. 다른 값과의 비교 (not):
const users = await prisma.user.findMany({
  where: {
    NOT: {
      age: 25 // age가 25가 아닌 사용자 검색
    }
  }
});
  1. 범위 비교 (in, notIn, lt, lte, gt, gte):
const users = await prisma.user.findMany({
  where: {
    age: {
      in: [18, 19, 20] // age가 18, 19, 20 중 하나인 사용자 검색
    },
    score: {
      gt: 80 // score가 80보다 큰 사용자 검색
    }
  }
});
  1. 문자열 비교 (contains, startsWith, endsWith):
const users = await prisma.user.findMany({
  where: {
    name: {
      contains: "John" // 이름에 "John"이 포함된 사용자 검색
    },
    email: {
      endsWith: "@example.com" // 이메일이 "@example.com"으로 끝나는 사용자 검색
    }
  }
});
  1. AND, OR 연산자 사용:
const users = await prisma.user.findMany({
  where: {
    AND: [
      { age: { gt: 20 } }, // age가 20보다 큰 사용자
      { OR: [
        { name: { contains: "John" } }, // 이름에 "John"이 포함된 사용자
        { email: { endsWith: "@example.com" } } // 이메일이 "@example.com"으로 끝나는 사용자
      ]}
    ]
  }
});

위의 예시는 일부 Prisma Client의 where 절 문법을 보여주는 것입니다. 더 자세한 정보는 Prisma 문서를 참조하시기 바랍니다.

profile
개발자 연습생

0개의 댓글