Sì, SQL ha comandi distinti per querys (letture) e comandi (aggiornamenti).
SQL ha comandi diversi per DML (Data Manipulation Language) per l'esecuzione di INSERT, UPDATE, DELETE.
Per le letture, usa DQL (Data Query Language) per l'esecuzione di SELECT (letture).
Lingue come C # sono basate su OO. Il meglio che puoi fare con un linguaggio come C # è quello di installare i guardrail.
Ad esempio un'interfaccia di query:
public interface IQuery<in TIn, out TOut>
{
TOut Execute(TIn queryInput);
}
Un'interfaccia di comando:
public interface ICommand<in TIn>
{
void Execute(TIn commandInput);
}
Si può anche rendere immutabile l'oggetto / i per garantire che non possano essere modificati una volta istanziati.
Ma gli sviluppatori possono ignorare i guardrail, quindi se Command-Query viene implementato in un linguaggio come C #, probabilmente il nuovo codice che viene aggiunto dovrebbe essere sottoposto a revisione del codice per garantire che il modello venga seguito come inizialmente progettato.