sqlintermediate

Query JSON Columns in SQL

Extract and filter data stored in JSON columns using SQL JSON functions.

sql
-- PostgreSQL: JSONB operators
SELECT
  id,
  data->>'name' AS name,
  data->'address'->>'city' AS city,
  (data->>'age')::int AS age
FROM users
WHERE data->>'status' = 'active'
  AND data @> '{"role": "admin"}';

-- Filter by nested JSON array
SELECT id, data->>'name'
FROM users
WHERE data->'tags' ? 'premium';

-- MySQL: JSON functions
SELECT
  id,
  JSON_EXTRACT(data, '$.name') AS name,
  JSON_EXTRACT(data, '$.address.city') AS city
FROM users
WHERE JSON_EXTRACT(data, '$.status') = 'active';

Use Cases

  • Querying semi-structured data
  • API response storage
  • Flexible schemas

Tags

Related Snippets

Similar patterns you can reuse in the same workflow.