PostgreSQLのWITH RECURSIVE句を使った再帰クエリのサンプルです。購入した材料が最終的にどのレシピに使われいるかを再帰的に取得するクエリを実行します。
├── docker-compose.yml
├── init
│ ├── 01-schema.sql
│ └── 02-sample-data.sql
└── queries
├── get_by_curry_roux.sql (カレールーが使われたレシピを再起的に取得するクエリ)
├── get_by_miso.sql (味噌が使われたレシピを再起的に取得するクエリ)
└── get_final_recipe_by_curry_roux.sql(カレールーが使われた最終的なレシピを再起的に取得するクエリ)docker compose up -dpgcli -U postgres -h 127.0.0.1 -p 5400 -d recursive-query-db
password: postgres\i queries/get_department_hierarchy.sql (部署の階層を再帰的に取得するクエリ)
\i queries/get_by_miso.sql (味噌が使われたレシピを再帰的に取得するクエリ)
\i queries/get_by_curry_roux.sql (カレールーが使われたレシピを再帰的に取得するクエリ)
\i queries/get_final_recipe_by_curry_roux.sql (カレールーが使われた最終的なレシピを再帰的に取得するクエリ)- id
- name
- parent_id
- id
- name
- id
- name
- id
- ingredient_id
- purchase_date
- id
- ingredient_id
- recipe_id
- id
- recipe_id
- ingredient_id