SQLab
LearnPracticeProblemsArenaLeaderboard
© 2026 SQLab · Tashkent
SQLab

Learn SQL right in the browser — nothing to install.

Platform

  • Learn
  • Practice
  • Problems
  • Arena
  • Leaderboard

Who it is for

  • Students
  • Teachers
  • Universities
© 2026 SQLab. All rights reserved.Made in Uzbekistan, for students.
LearnPracticeProblemsArenaLeaderboard
Arena

Taxi service

Drivers, cars, riders, trips and payments. More than fifteen hundred rides across Tashkent.

6 tables · 3,413 rows

Choose a level

Easy10 questions · 100 XP

One table: selecting, sorting, conditions

0/10
Start
Medium10 questions · 200 XP

Grouping, counting, joining two tables

0/10
Start
Hard10 questions · 400 XP

Subqueries, several JOINs, window functions

0/10
Start

Tables and relations

The lines show foreign keys: which table points to which.

drivers64 rows

Drivers

  • idint
  • first_namevarchar(40)
  • last_namevarchar(40)
  • phonevarchar(16)
  • birth_datedate
  • joined_atdate
  • ratingdecimal(3,2) ?
  • is_activebool
cars69 rows

Cars

  • idint
  • driver_idint
  • brandvarchar(20)
  • modelvarchar(20)
  • platevarchar(12)
  • yearint
  • colorvarchar(12)
  • tariff_idint

driver_id → drivers.idtariff_id → tariffs.id

tariffs4 rows

Tariffs

  • idint
  • namevarchar(20)
  • base_faredecimal(10,2)
  • per_kmdecimal(10,2)
riders230 rows

Riders

  • idint
  • first_namevarchar(40)
  • last_namevarchar(40)
  • phonevarchar(16)
  • registered_atdate
trips1,600 rows

Trips

  • idint
  • rider_idint
  • driver_idint
  • car_idint
  • tariff_idint
  • pickupvarchar(20)
  • dropoffvarchar(20)
  • requested_atdatetime
  • started_atdatetime ?
  • finished_atdatetime ?
  • distance_kmdecimal(5,1) ?
  • faredecimal(10,2) ?
  • statusvarchar(10)

rider_id → riders.iddriver_id → drivers.idcar_id → cars.idtariff_id → tariffs.id

payments1,446 rows

Payments

  • idint
  • trip_idint
  • methodvarchar(8)
  • amountdecimal(10,2)
  • tipdecimal(10,2)
  • paid_atdatetime

trip_id → trips.id

LearnPracticeProblemsArenaLeaderboard

SQLab

Easy10 questions · 100 XP

One table: selecting, sorting, conditions

0/10
Start
Medium10 questions · 200 XP

Grouping, counting, joining two tables

0/10
Start
Hard10 questions · 400 XP

Subqueries, several JOINs, window functions

0/10
Start