Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Getting Started with DuckDB

You're reading from   Getting Started with DuckDB A practical guide for accelerating your data science, data analytics, and data engineering workflows

Arrow left icon
Product type Paperback
Published in Jun 2024
Publisher Packt
ISBN-13 9781803241005
Length 382 pages
Edition 1st Edition
Languages
Arrow right icon
Authors (2):
Arrow left icon
Ned Letcher Ned Letcher
Author Profile Icon Ned Letcher
Ned Letcher
Simon Aubury Simon Aubury
Author Profile Icon Simon Aubury
Simon Aubury
Arrow right icon
View More author details
Toc

Table of Contents (15) Chapters Close

Preface 1. Chapter 1: An Introduction to DuckDB FREE CHAPTER 2. Chapter 2: Loading Data into DuckDB 3. Chapter 3: Data Manipulation with DuckDB 4. Chapter 4: DuckDB Operations and Performance 5. Chapter 5: DuckDB Extensions 6. Chapter 6: Semi-Structured Data Manipulation 7. Chapter 7: Setting up the DuckDB Python Client 8. Chapter 8: Exploring DuckDB’s Python API 9. Chapter 9: Exploring DuckDB’s R API 10. Chapter 10: Using DuckDB Effectively 11. Chapter 11: Hands-On Exploratory Data Analysis with DuckDB 12. Chapter 12: DuckDB – The Wider Pond 13. Index 14. Other Books You May Enjoy

Recursive queries and macros

DuckDB supports recursive queries, which are useful for working with hierarchical data, such as organizational charts, product categories, and family trees.

Let’s look at how to traverse the hierarchy of wine types and retrieve information about our wine varieties efficiently.

Wine classification hierarchy

Let’s start with a table of wine with the association between the wine variety hierarchy expressed as a subclass column:

Figure 10.17 – Simplified wine hierarchy

Figure 10.17 – Simplified wine hierarchy

We can create and load the wines table like this:

CREATE OR REPLACE TABLE wines AS
SELECT *
FROM read_csv('wines.csv');

Now, let’s look at the contents of the wines table:

SELECT *
FROM wines
ORDER BY wine_id;

This query returns a small collection of wines and wine varieties:

┌─────────┬─────&...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime