Per prima cosa è necessario essere chiari su ciò che SQL è e non è. SQL è un linguaggio di query e un linguaggio di manipolazione dei dati utilizzato per accedere e manipolare i dati in un database relazionale. Ma lo schema e gli oggetti dati (tabelle, colonne, indici, vincoli) nel database non sono "in SQL", SQL è solo una lingua possibile per interrogare e manipolare i dati.
Per poter lavorare efficacemente con un database relazionale, è necessario comprendere tabelle, colonne, tipi di dati, chiavi primarie, chiavi esterne e indici. È inoltre necessario comprendere le basi della query: proiezione, filtri, join. Devi capire le basi della normalizzazione.
Ma nessuna di queste cose in linea di principio richiede di toccare SQL. Potresti essere in grado di progettare lo schema del database in una finestra di progettazione della GUI e potresti essere in grado di scrivere query e aggiornamenti in un altro linguaggio come SqlAlchemy per Python o Linq per .net. Alcuni sostengono addirittura che questi linguaggi siano una rappresentazione più pura del modello relazionale rispetto a SQL.
Quindi in teoria il tuo amico ha ragione - non hai bisogno di imparare l'SQL. Ma hai ancora bisogno di sapere come funzionano i database relazionali, e quando lo sai, SQL è piuttosto facile da imparare, dato che si tratta solo di una sintassi.
Sebbene non sia necessario, è abbastanza comodo conoscere SQL, poiché è possibile interrogare qualsiasi database direttamente in SQL senza la necessità di un livello di traduzione separato. E dal momento che tutte le esercitazioni, i libri e gli esempi utilizzano SQL, sarà difficile evitare di impararlo.