Learn SQL Lesson

Feel Why Packed Lists Break 1NF

First normal form says each column should hold one value, not a comma-separated list of values.

In the bad table below, each order stores multiple product names in a single text column. That means the database cannot reason about products cleanly. You end up searching inside strings instead of working with individual rows.

Try the challenge and notice how awkward it feels compared with a proper `order_items` table.

Practice challenge

Find the orders whose products list mentions Keyboard. Return order_id and products, ordered by order_id.

Open interactive editor