È un'idea che ho sentito ripetere in una manciata di posti. Alcuni riconoscono più o meno che una volta provato a risolvere un problema puramente in SQL supera un certo livello di complessità, dovresti effettivamente gestirlo nel codice.
La logica alla base dell'idea è che per la maggior parte dei casi, il motore di database farà un lavoro migliore nel trovare il modo più efficiente di completare l'attività di quanto si possa fare nel codice. Soprattutto quando si tratta di cose come subordinare i risultati alle operazioni eseguite sui dati. Probabilmente con i motori moderni efficacemente JIT + memorizzazione nella cache della versione compilata della query avrebbe senso in superficie.
La domanda è se sfruttare o meno il motore di database in questo modo sia intrinsecamente una cattiva pratica di progettazione (e perché). Le linee diventano più sfocate quando tutta la logica esiste all'interno del database e la colpisci semplicemente tramite un ORM.