📌 EdgeQL 쿼리 패턴 완전 정복

2025. 5. 28. 13:38·기술블로그-Fastapi편

📌 EdgeQL 쿼리 패턴 완전 정복

EdgeQL은 PostgreSQL 기반의 차세대 쿼리 언어로, 객체지향적인 문법과 JSON 친화적인 결과를 특징으로 합니다. 다음은 실무에서 자주 쓰이는 EdgeQL 쿼리 패턴과 개념입니다.


✅ 1. 기본 SELECT 문

select Movie {
  title,
  year
};
  • 특정 타입(Movie)에서 원하는 필드만 선택
  • JSON 형태로 반환됨

✅ 2. 링크(Link)를 통한 중첩 조회

select Movie {
  title,
  actors: {
    name
  }
};
  • actors는 Movie → Person을 잇는 link 타입
  • { name }처럼 내부 필드를 중첩해서 선택 가능
  • 객체 관계를 자연스럽게 탐색

✅ 3. 조건 필터링 (FILTER)

select Person {
  name
}
filter .name = 'Tom Hanks';
  • filter 키워드를 사용해 조건 지정
  • .은 현재 객체를 참조 (.name은 Person의 name)

✅ 4. 정렬 (ORDER BY) + 제한 (LIMIT)

select Movie {
  title,
  year
}
order by .year desc
limit 5;
  • order by로 정렬
  • limit으로 결과 개수 제한

✅ 5. 중첩 서브쿼리

select Person {
  name,
  acted_in: {
    title
  }
};
  • acted_in도 link일 경우 중첩 가능
  • 복잡한 관계형 탐색이 간결하게 표현됨

✅ 6. INSERT 예시

insert Person {
  name := 'Scarlett Johansson'
};
  • := 연산자로 값 지정

✅ 7. UPDATE 예시

update Person
filter .name = 'Tom Hanks'
set {
  name := 'Thomas Hanks'
};
  • 특정 조건 필터 후 필드 수정

✅ 8. DELETE 예시

delete Person
filter .name = 'Tom Hanks';
  • 조건에 맞는 레코드 삭제

🧠 실무 팁 요약

  • { field } 중첩은 link 또는 multi link에만 사용 가능
  • 기본 property(예: title, year 등)에는 중첩 불가
  • .field는 항상 현재 객체의 필드를 참조
  • 쿼리 결과는 JSON 구조로 출력 → API와 연동 용이

필요 시 JOIN 없이도 관계형 데이터를 직관적으로 조회할 수 있는 게 EdgeQL의 큰 장점입니다.

'기술블로그-Fastapi편' 카테고리의 다른 글

📌 데이터베이스 검색 방식: Seq Scan vs Index Scan 정리  (0) 2025.05.28
📌 데이터베이스 인덱스(Index)와 B-Tree 구조 정리  (0) 2025.05.28
📌 EdgeDB 마이그레이션 꼬임 해결: 전체 초기화 루틴  (0) 2025.05.28
📌 WSL + VS Code 연동 및 'code' 명령어 설정 방법 정리  (0) 2025.05.28
📌 WSL 기반 Gel(EdgeDB) 설치 및 실습 정리  (0) 2025.05.28
'기술블로그-Fastapi편' 카테고리의 다른 글
  • 📌 데이터베이스 검색 방식: Seq Scan vs Index Scan 정리
  • 📌 데이터베이스 인덱스(Index)와 B-Tree 구조 정리
  • 📌 EdgeDB 마이그레이션 꼬임 해결: 전체 초기화 루틴
  • 📌 WSL + VS Code 연동 및 'code' 명령어 설정 방법 정리
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (727) N
      • Python (32)
      • 프로젝트 (55) N
      • 과제 (25)
      • Database (40)
      • 멘토링 (11)
      • 특강 (37)
      • 기술블로그 (41) N
      • 기술블로그-Fastapi편 (33)
      • 기술블로그-Django편 (153)
      • 기술블로그-Flask편 (36)
      • AI 분석 (5) N
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (77)
      • Fastapi (16)
      • 연예 (10) N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    homebartrend
    americanlaw
    trumpmuskclash
    lawsuitculture
    뷔제대
    foodshortage
    galaxys25ultra
    chinanightlife
    youngprofessionals
    livebroadcast
    RM
    newpoliticalparty
    evoo
    smartphonedurability
    globaleconomy
    hotcoffeecase
    chansmannewspick
    americaparty
    classaction
    btsreunion
    bts
    japanricecrisis
    skincancerawareness
    뷔
    urbantrends
    뷔전역
    titaniumcase
    militarydischarge
    oliveoilhealth
    basalcellcarcinoma
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
📌 EdgeQL 쿼리 패턴 완전 정복
상단으로

티스토리툴바