Skip to main content
Database

Select All Records

QueryValidateEasy

What you will learn

  • Always specify columns (SELECT id, name), not SELECT * โ€” schema changes break consumers silently otherwise
  • LIMIT without ORDER BY is non-deterministic โ€” two identical queries can return different rows
  • Test edge cases: empty result, single row, exact-limit result, over-limit โ€” each is a different code path

Description

Retrieve all users from the database.

Test Scenario

-- Your query:
SELECT * FROM users;

-- Expected: 5 rows with all user data
-- Columns: id, name, email, role, created_at, is_active

Testing Tips

  • โ€ขUse SELECT * to get all columns
  • โ€ขFROM specifies the table
  • โ€ขNo WHERE clause needed for all records
// Playwright API Testing - Database
import { test, expect } from '@playwright/test';
test('Database query via API', async ({ request }) => {
const response = await request.post('/api/database/query', {
data: {
sql: 'SELECT * FROM users WHERE id = ?',
params: [1]
}
});
expect(response.ok()).toBeTruthy();
const { rows } = await response.json();
expect(rows.length).toBeGreaterThan(0);
});

Challenge ID: sql-select-all

2 frameworks available