How do you use window functions like ROW_NUMBER(), RANK(), and LEAD()/LAG() for advanced analytical queries?