you can get as fancy as you want, a whole ecosystem of powershell driven data exports, dynamic etc.
Instead of an embedded sql query you can opt for stored procedures ,views etc.
$SQLServer = "localhost"
$SQLDBName = "sqlteam"
$delimiter = ","
#SQL Query
$SqlQuery = "select p.id, name From products_logger l join products p on l.id = p.id where isexported = 0;"
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; Integrated Security = True;"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = $SqlQuery
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
#Creating Dataset
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)
$DataSet.Tables[0] | export-csv -Delimiter $delimiter -Path "C:\_work\TeachYourself\PowerShell\export.csv" -NoTypeInformation