All problems

The Class of 2023

easySQLFilteringDates

Kestrel Labs runs a single anniversary lunch each year for the whole intake that joined twelve months earlier, and HR is drawing up the invitation list for the 2023 cohort. The list is read out in the order people arrived, so the earliest joiner is thanked first and the newest last.

Start dates are stored as text like 2023-04-18, not as a year on its own, so the cohort has to be picked out of the full-date column.

employees — one row per person. department_id is the team they sit on, given as the matching id in departments; salary is annual pay in dollars; hire_date is the day they started, written year-month-day; manager_id is the id of the person they report to, and is NULL for anyone who reports to nobody.

id name department_id salary hire_date manager_id
1 Ava Chen 1 145000 2021-03-14 NULL
2 Ben Ortiz 1 118000 2022-06-01 1
3 Cara Novak 1 121000 2023-01-10 1
4 Deshawn Lee 2 95000 2020-09-23 NULL
5 Elin Kask 2 88000 2022-11-05 4
6 Farid Amiri 3 76000 2023-04-18 NULL
7 Grace Kim 4 132000 2021-07-30 NULL
8 Hugo Silva 4 110000 2023-02-14 7
9 Ines Duarte 4 104000 2023-08-01 7
10 Jonas Weber 2 91000 2021-12-19 4

The table already exists in the database — there is nothing to create or load.

Task: Write a query returning two columns, name and hire_date, one row per employee whose start date falls anywhere in the 2023 calendar year, earliest start first. Return hire_date exactly as stored, in year-month-day text. No two employees started on the same day, so the sequence is fully determined.

Example output — shape only, on invented people. The dates are returned as stored, in year-month-day text:

name hire_date
Nils Ahlberg 2023-03-22
Mira Solberg 2023-07-09
Otto Brandt 2023-11-30

Sign in to solve this problem

Reading problems is free for everyone — solving them (Run, Submit, and tracking what you've solved) needs an account.

Sign in

Discussion

Sign in to join the discussion — reading is open to everyone.

Loading comments…