# The Duck Hunt: CSV Edition

DB Quacks SQL Tutorial · level 14 · chapter 3

Professor Shellbert paddles over with files. "Great news! Neighboring communities want to contribute to our festival by sharing food preference data, but they use different systems. We can read their CSV files directly without importing!"

## Task

Read and display the contents of the external CSV file 'data/duck_foods.csv'. You will be working with an external file containing food preference data from neighboring communities.

## Hint

Look for a function that can read CSV files directly without importing them into the database.

## Expected result

A table showing all data from the duck_foods.csv file.

## Tables

### `duck_diaries` (10 rows)

| column | type |
| --- | --- |
| diary_id | BIGINT |
| duck_id | BIGINT |
| entry_date | DATE |
| diary_text | VARCHAR |
| mood | VARCHAR |

### `duck_surveys` (5000 rows)

| column | type |
| --- | --- |
| survey_id | BIGINT |
| duck_id | BIGINT |
| age | BIGINT |
| favorite_food | VARCHAR |
| favorite_pond | BIGINT |
| swimming_rating | BIGINT |
| migration_preference | VARCHAR |
| social_behavior | VARCHAR |
| health_status | VARCHAR |
| activity_level | VARCHAR |
| survey_date | DATE |
| survey_location | BIGINT |

### `ducks` (15 rows)

| column | type |
| --- | --- |
| id | BIGINT |
| name | VARCHAR |
| age | BIGINT |
| species | VARCHAR |
| birth_date | DATE |
| arrival_date | DATE |

### `ponds` (3 rows)

| column | type |
| --- | --- |
| pond_id | BIGINT |
| pond_name | VARCHAR |
| location_lat | DOUBLE |
| location_lng | DOUBLE |
| capacity | BIGINT |
| features | VARCHAR[] |
| amenities | VARCHAR[] |

## Files

### `data/duck_foods.csv` (15 rows)

Download: https://dbquacks.com/data/duck_foods.csv

| column | type |
| --- | --- |
| duck_id | BIGINT |
| favorite_food | VARCHAR |
| allergies | VARCHAR |
| diet_type | VARCHAR |

## Data

The tables live in a DuckDB database: https://dbquacks.com/data/databases/tutorial.duckdb

To query it outside the browser, attach it read-only:

```sql
ATTACH 'https://dbquacks.com/data/databases/tutorial.duckdb' AS db (READ_ONLY);
USE db;
```

Play it in the browser: https://dbquacks.com/tutorial/14

## Reference

https://duckdb.org/docs/stable/guides/file_formats/csv_import.html
