supabase
CHAPTER 8 / 34
읽기 약 2분
SYNTAX
CRUD — Select
핵심 개념
Supabase 클라이언트로 데이터를 조회합니다. 필터링, 정렬, 페이지네이션, 관계 조회를 다룹니다.
코드 분석
// 전체 조회
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