select order_id,customer_name,order_date
from(
    select customer_name,customer_id,max(order_date) as order_date
    from orders join customers using(customer_id)
    group by customer_id,customer_name
) temp join orders using(order_date)
order by customer_name;