4th Nov 2025 Tempo di lettura: 8 minuti 5 piccoli trucchi SQL che vi faranno sembrare dei professionisti Agnieszka Kozubek-Krycuń pratica su sql Indice 1. Indentate il codice! 2. Comma iniziale 3. Iniziare i filtri con WHERE 1 = 1 4. Usare CASE 5. Usare COALESCE Un grande trucco in più: Usare le CTE Conclusione Volete che il vostro SQL abbia un aspetto più pulito e professionale? Questi cinque piccoli ma potenti trucchi vi aiuteranno a scrivere query più facili da leggere, debuggare e condividere. Avete scritto alcune query SQL, unito alcune tabelle e forse anche creato un piccolo report. Ma le vostre query sembrano ancora un po'... goffe. La verità è che la differenza tra "portare a termine il lavoro" e sembrare un professionista spesso si riduce a una manciata di piccole abitudini, quelle che rendono il codice più facile da leggere, mantenere e condividere con gli altri. In questo articolo condivideremo cinque piccoli trucchi SQL che possono migliorare immediatamente le vostre query. Sono semplici, pratici e vi faranno sembrare molto più sicuri con l'SQL. Se volete continuare a migliorare al di là dei suggerimenti rapidi, date un'occhiata alla nostra Pratica su SQL traccia. È ricco di esercizi reali progettati per aiutarvi a superare la teoria e a scrivere un SQL più pulito ed efficace: esattamente il tipo di competenze su cui si basano questi trucchi. Entriamo nel merito delle cinque abitudini che possono rendere il vostro SQL più curato e professionale. 1. Indentate il codice! Sembra noioso. Sembra ovvio. Ma una buona indentazione è la prima cosa che separa una query sciatta da una professionale. Quando il codice SQL è indentato correttamente, è più facile da leggere, eseguire il debug e capire, non solo per i vostri colleghi, ma anche per voi quando rivedrete la query settimane dopo. Un SQL mal formattato porta spesso a errori, condizioni mancate o ore sprecate a scorrere un muro di testo. Ecco cosa vediamo spesso dai principianti: SELECT name, email, total FROM customers JOIN orders ON customers.id=orders.customer_id WHERE total>100; Ora guardate la stessa query con un'indentazione coerente: SELECT name, email, total FROM customers JOIN orders ON customers.id = orders.customer_id WHERE total > 100; Stessa query, esperienza completamente diversa. È possibile individuare immediatamente le colonne selezionate, le join e le condizioni di filtro. Aggiungere o rimuovere una colonna o una condizione non è più un problema. Qualche interruzione di riga e qualche spazio rendono la query chiara e professionale. È una piccola abitudine che ripaga ogni volta che si scrive SQL. 2. Comma iniziale Sarò onesto: non amo questo stile. Ma non posso negare la sua utilità. La virgola iniziale significa che ogni nuova colonna dell'elenco SELECT inizia con una virgola, invece di terminare con essa la riga precedente. Il vantaggio principale? È molto più facile commentare le colonne senza interrompere la query. Ecco il modo consueto: SELECT name, email, total FROM customers; Ecco lo stile della virgola iniziale: SELECT name , email , total FROM customers; Se si vuole commentare l'e-mail, lo si fa e basta: SELECT name -- , email , total FROM customers; Non c'è bisogno di preoccuparsi di rimuovere le virgole o di correggere gli errori di sintassi. Spesso i professionisti esperti di SQL usano questo stile, non perché sia più bello, ma perché fa risparmiare tempo durante la modifica o il debug delle query. 3. Iniziare i filtri con WHERE 1 = 1 Questo trucco ha lo stesso spirito della virgola iniziale. Non cambia il funzionamento della query, ma facilita la modifica e il debug dei filtri. L'idea è di iniziare la clausola WHERE con una condizione che sia sempre vera (1 = 1). In questo modo, ogni condizione reale inizia con AND ed è possibile commentarla senza interrompere la query. Ecco il solito stile: SELECT * FROM orders WHERE order_date >= '2024-01-01' AND status = 'Shipped'; Ecco l'approccio di WHERE 1 = 1: SELECT * FROM orders WHERE 1 = 1 AND order_date >= '2024-01-01' AND status = 'Shipped'; Ora, se si deve eseguire un test o un debug senza il filtro di stato, si può semplicemente commentarlo: SELECT * FROM orders WHERE 1 = 1 AND order_date >= '2024-01-01' -- AND status = 'Shipped'; Nessun errore di sintassi, nessun giochetto con gli AND. È un piccolo trucco che rende la query più flessibile durante la costruzione o il test. 4. Usare CASE Questa è la costruzione SQL che molti principianti non conoscono, ma che cambia le carte in tavola. Pensate a CASE come alla versione di SQL dell'istruzione IF. Permette di creare categorie o etichette personalizzate direttamente nella query, senza esportare i dati in Excel o scrivere script aggiuntivi. Ecco un semplice esempio: SELECT customer_name, CASE WHEN points >= 100 THEN 'Gold' WHEN points >= 50 THEN 'Silver' ELSE 'Bronze' END AS loyalty_tier FROM customers; Cosa fa: Per ogni riga della tabella clienti, l'SQL controlla il valore della colonna points. Se i punti sono 100 o più, restituisce 'Gold'. Se è compreso tra 50 e 99, restituisce 'Silver'. Altrimenti, restituisce 'Bronze'. Il risultato è una nuova colonna (loyalty_tier) che assegna ogni cliente a una categoria in base ai suoi punti. Come funziona: CASE inizia l'espressione. Ogni WHEN definisce una condizione. THEN definisce il valore restituito se la condizione è vera. ELSE è opzionale: viene utilizzato quando nessuna delle condizioni corrisponde. END chiude l'espressione. È possibile utilizzare CASE anche in altre parti di una query, non solo in SELECT. Ad esempio, è possibile raggruppare i dati in base a intervalli: SELECT CASE WHEN total < 100 THEN 'Small' WHEN total < 500 THEN 'Medium' ELSE 'Large' END AS order_size, COUNT(*) AS orders_count FROM orders GROUP BY CASE WHEN total < 100 THEN 'Small' WHEN total < 500 THEN 'Medium' ELSE 'Large' END; Una volta imparato a usare CASE, si smette di affidarsi a strumenti esterni per una rapida categorizzazione, e questa è una delle abilità che separano un principiante da chi è davvero a suo agio con SQL. Per altri modi di utilizzare CASE, consultate i nostri articoli: Come usare CASE WHEN in GROUP BY Come usare CASE WHEN con SUM() in SQL Questa singola costruzione spesso segna la differenza tra la semplice conoscenza della sintassi SQL e l'effettiva capacità di pensare in SQL. 5. Usare COALESCE La funzione COALESCE è uno di quegli strumenti sorprendentemente utili che molti principianti trascurano. È semplice ma potente: restituisce il primo valore non NULL in un elenco di espressioni. Questo la rende perfetta per gestire i dati mancanti, fornire valori di riserva o aggiungere valori predefiniti significativi direttamente nella query. Esempio 1: Valori di riserva Se si hanno diverse colonne di numeri di telefono e si vuole mostrare il primo disponibile: SELECT customer_id, COALESCE(phone_mobile, phone_home, phone_office) AS contact_number FROM customers; In questo caso, SQL controlla prima phone_mobile. Se è NULL, prova con phone_home. Se è anche NULL, prova con phone_office. La query restituisce sempre il primo valore nonNULL, senza dover scrivere istruzioni CASE annidate. Esempio 2: Valori predefiniti significativi Si può usare COALESCE per sostituire i NULL con un valore predefinito che abbia senso per il contesto. Per i campi di testo: SELECT COALESCE(middle_name, '') AS middle_name FROM customers; Se middle_name è NULL, la query restituisce una stringa vuota. Per i campi numerici: SELECT product_name, price - COALESCE(discount, 0) AS final_price FROM products; Se discount è NULL, viene trattato come zero, quindi il calcolo funziona senza errori. Esempio 3: Note facili da usare Si può anche usare per aggiungere segnaposto descrittivi: SELECT order_id, COALESCE(notes, 'No notes') AS order_notes FROM orders; Se manca una nota, la query visualizza 'No notes' invece di uno spazio vuoto o NULL. COALESCE è una di quelle piccole ma potenti funzioni che rendono immediatamente il vostro SQL più robusto e facile da usare. Una volta che ci si è abituati, ci si ritroverà a usarla ovunque per riordinare i dati disordinati. Un grande trucco in più: Usare le CTE Le CTE (Common Table Expressions) non sono esattamente una funzione per principianti, ma una volta che si inizia a usarle, cambiano il modo di scrivere l'SQL. Le CTE consentono di suddividere una query in parti logiche e di assegnare a ciascuna parte un nome. Questo rende le query complesse più facili da leggere, da debuggare e da mantenere. Invece di impilare subquery all'interno di subquery, è possibile costruire la logica passo dopo passo. Ecco un semplice esempio: WITH high_value_orders AS ( SELECT customer_id, total FROM orders WHERE total > 1000 ) SELECT customer_id, COUNT(*) AS big_orders FROM high_value_orders GROUP BY customer_id; Ecco cosa succede: La clausola WITH definisce un insieme temporaneo di risultati chiamato high_value_orders. Si può quindi fare riferimento ad esso nella query principale come se fosse una normale tabella. Questa struttura è molto più pulita rispetto alla scrittura di una lunga query annidata. Se è necessario modificare la definizione di high_value_orders, è possibile farlo in un unico punto. Se siete pronti ad andare oltre le semplici query, date un'occhiata al nostro Query ricorsive corso. Il corso tratta in modo approfondito le CTE, compresi i modelli avanzati come le query gerarchiche e la ricorsione. Le CTE sono un grande passo verso la scrittura di un SQL non solo corretto, ma anche elegante e manutenibile. Conclusione I trucchi che abbiamo trattato, dall'indentazione pulita all'uso di CASE, COALESCE e persino delle CTE, non sono solo scorciatoie intelligenti. Sono abitudini che rendono il vostro SQL più pulito, più facile da debuggare e molto più professionale. Una volta acquisite, non vorrete più tornare a query disordinate e di difficile lettura. Se volete davvero migliorare il vostro SQL, questi suggerimenti sono solo l'inizio. Il modo migliore per continuare a migliorare è esercitarsi su diversi argomenti e scenari reali. È qui che il nostro Completo per sempre Pacchetto SQL entra in gioco. È il miglior rapporto qualità-prezzo: pagate una sola volta e avrete accesso a vita a tutti i corsi attuali e futuri su LearnSQL.it. Potete iniziare con corsi pratici come Pratica su SQL per affinare le vostre competenze, per poi passare ad argomenti più avanzati come Query ricorsive o Window Functions (Funzioni Finestra) - tutto secondo i vostri ritmi. L'apprendimento di queste piccole ma potenti tecniche trasforma SQL da strumento di base a vera e propria abilità professionale. Perché fermarsi a cinque trucchi quando si può continuare ad arricchire il proprio kit di strumenti per tutta la vita? Tags: pratica su sql