A resposta irá variar dependendo da linguagem em que seu aplicativo está escrito, mas use C# como exemplo. Uma maneira comum é preencher um conjunto de dados da consulta sql e, em seguida, gravar o conjunto de dados usando loops para gerar o csv.
Aqui está um exemplo dessa abordagem da interweb.
http://www.diaryofaninja.com /blog/2009/12/16/c-convert-dataset-to-csv
Aqui está outro exemplo usando VB
http://www.vbnettutorial.net/?Id=119&Desc =Exportar-CSV-do-conjunto de dados
A complexidade dos dados pode exigir que você seja sofisticado... (por exemplo, seus dados têm aspas duplas, vírgulas, dados binários???