WITH order_last AS(
    SELECT
        order_id,customer_id,
        order_date,
        rank() over (partition by customer_id order by order_date DESC) AS rk
    FROM orders 
)
SELECT 
    a.order_id,
    b.customer_name,
    a.order_date
FROM order_last AS a 
LEFT JOIN customers AS b
ON a.customer_id=b.customer_id
WHERE a.rk=1;