OPEN HYPER STEP
← 목록으로 (Supabase)
SUPABASE · 8 / 34
supabase
CHAPTER 8 / 34
읽기 약 2
SYNTAX

CRUD — Select


핵심 개념

Supabase 클라이언트로 데이터를 조회합니다. 필터링, 정렬, 페이지네이션, 관계 조회를 다룹니다.

코드 분석
SUPABASE📋 코드 (19줄)
// 전체 조회
const { data, error } = await
  supabase.from('posts').select('*')

// 필터링
.eq('status', 'published')
.gt('views', 100)
.ilike('title', '%react%')

// 정렬 & 페이지네이션
.order('created_at', { ascending: false })
.range(0, 9)   // 0~9번째 (10개)

// 관계 조회 (JOIN)
supabase.from('posts')
  .select('*, profiles(name, avatar)')

// 단건 조회
.single()

AI 프롬프트
🤖 AI에게 잘 물어보는 법 — 모델·전략별 프롬프트
Claude

무료: Sonnet 4.6 / Pro $20/mo: Opus 4.6

이 Supabase 'CRUD — Select' RLS 정책에서
보안 구멍·우회 가능한 케이스·과도한 권한을 찾고
안전한 정책 코드를 작성해줘.
ChatGPT

무료: GPT-5.5 / Plus $20/mo: GPT-5.5 Pro

'CRUD — Select'를 Next.js + Supabase로 구현한
실전 풀스택 코드(Auth/RLS/Realtime 포함)를 만들어줘.
Gemini

무료: 2.5 Flash / Pro $19.99/mo: 3.1 Pro

이 Supabase 'CRUD — Select' 관련 테이블·RLS 정책 전체를 분석해서
보안 취약점·N+1 쿼리·인덱스 누락을
우선순위 리포트로 만들어줘.
Grok

무료: Grok 4.1 / SuperGrok $30/mo

Supabase 'CRUD — Select' vs Firebase의
동일 기능 구현을 2026년 기준
비용·성능·DX로 솔직히 비교해줘.

⭐ 이것만 기억하세요
CRUD — Select 이 3가지만 확실히 잡으세요
1.supabase.from('table').select('*')로 전체를 가져오면 불필요한 컬럼까지 전송돼서 성능이 저하됩니다
2.select('컬럼1, 컬럼2')로 필요한 필드만 조회하고, .eq/.gt/.order/.limit으로 필터·정렬·페이지네이션을 체이닝합니다
3.다음 챕터에서 데이터를 삽입하는 Insert를 배웁니다


공유하기
진행도 8 / 34