SQL Practice Logo

SQLPractice Online

SELECT & Data Retrieval: Real-World

Module: SQL Fundamentals

Every database interaction starts with SELECT. Used to generate reports, populate dashboards, export data, validate records, and power every application that reads from a database. A typical web application makes 100-1000 SELECT queries per second. At scale, SELECT * on a 30-column table transfers 10x more data than selecting 3 needed columns - costing thousands in bandwidth and latency.

E-Commerce Product Catalog API

Building product listing API with proper column selection:

PRODUCTS (product_id, sku, name, description, price, cost, inventory, created_at, updated_at)

Specific column selection: (1) Hides sensitive data (cost) from public API (2) Reduces bandwidth (3) Enables index-only scans (4) Clear API contract

API endpoint: GET /products (public)

SELECT product_id, name, description, price, inventory

FROM products

WHERE inventory > 0

ORDER BY created_at DESC

LIMIT 20;

Admin dashboard: Include cost and margins

SELECT product_id, name, price, cost,

(price - cost) AS profit,

ROUND((price - cost) / price * 100, 2) AS margin_percent

FROM products

ORDER BY margin_percent DESC;

All

User Dashboard with Calculated Fields

Employee dashboard showing calculated compensation:

EMPLOYEES (employee_id, first_name, last_name, salary, bonus, commission, hire_date)

Calculated fields in SELECT: (1) Business logic in database (2) Consistent calculations (3) Reduced application code (4) Easy to audit

Employee compensation summary

SELECT employee_id,

CONCAT(first_name, ' ', last_name) AS full_name,

salary AS base_salary,

COALESCE(bonus, 0) AS bonus,

COALESCE(commission, 0) AS commission,

salary + COALESCE(bonus, 0) + COALESCE(commission, 0) AS total_comp,

YEAR(CURRENT_DATE) - YEAR(hire_date) AS years_employed

FROM employees

ORDER BY total_comp DESC;

All

Analytics Dashboard with DISTINCT

Reporting unique values for filters and dropdowns:

ORDERS (order_id, customer_id, status, country, created_at)

DISTINCT for analytics: (1) Populate filter dropdowns (2) Count unique values (3) Remove duplicates for reporting (4) Data quality checks

Get unique countries for filter dropdown

SELECT DISTINCT country

FROM orders