obiettivo attuale
(parole al minutocaratteri / min.)
0
p/m
livello
il più alto obiettivo raggiunto
0
p/m
le statistiche di oggi
esercizi completati
0
caratteri digitati parole digitate
0
tempo di esercizio
0
15m
25m
45m
1h
statistiche complessive
esercizi completati
0
caratteri digitati parole digitate
0
tempo di esercizio
0
*precisione ≥ 90%
preciso
(< 90%)
parole al minuto
(obiettivo)

Esercizio di dattilografia: Programmazione in linguaggio SQL

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Consigli per questo esercizio

Esercizio di dattilografia: Programmazione in linguaggio SQL

chiudere e iniziare a digitare

La dattilografia è significativa nella programmazione. Sei più efficiente utilizzando tecniche di digitazione rapida per scrivere codice nel linguaggio di programmazione SQL.

Impariamo di più sul linguaggio SQL e sulla dattilografia durante la programmazione in SQL.

Programmazione in SQL e dattilografia

Imparare SQL e praticare la dattilografia si completano naturalmente. Le query SQL sono piene di parentesi, virgole, operatori e virgolette. Piccoli errori, come una virgoletta sbagliata o un punto e virgola dimenticato, possono far fallire un'intera query. Quando scrivi in SQL, è utile sapere quali parti della sintassi sono comuni tra diversi database e quali sono specifiche. Questo articolo si concentra principalmente su PostgreSQL, ma menziona anche MySQL, SQLite e SQL Server dove la sintassi differisce.

Cosa è caratteristico della sintassi SQL?

SQL (Structured Query Language) è un linguaggio dichiarativo. Invece di descrivere passo per passo come recuperare i dati, dichiari cosa vuoi. Quasi ogni istruzione inizia con una parola chiave come SELECT, INSERT o UPDATE. L'ordine delle clausole è fisso: SELECT ... FROM ... WHERE ... GROUP BY ... HAVING ... ORDER BY .... PostgreSQL e MySQL condividono quest'ordine, quindi imparandolo in un sistema lo puoi usare anche nell'altro.

SELECT id, name
FROM customers
WHERE active = true
ORDER BY created_at DESC;

Caratteri speciali usati frequentemente

SQL contiene molti segni di punteggiatura. Le parentesi () racchiudono funzioni e condizioni. Le virgole , separano le colonne. Il punto . serve per schema e nomi di tabelle, come public.users. Le virgolette singole '...' delimitano stringhe. PostgreSQL usa virgolette doppie "..." per identificatori, mentre MySQL usa backtick `...`. In SQL Server si trovano anche parentesi quadre [...]. Esercitarsi con questi simboli aiuta a scrivere query corrette.

-- Stringa letterale
SELECT * FROM books WHERE title = 'War and Peace';

-- Identificatori con spazi (PostgreSQL)
SELECT "Order ID", "Customer Name" FROM orders;

Maiuscole e minuscole

Per convenzione, le parole chiave SQL si scrivono di solito in maiuscolo: SELECT, FROM, WHERE. Questo le rende più facili da individuare, ma non è obbligatorio. In PostgreSQL, gli identificatori non citati vengono automaticamente convertiti in minuscolo, quindi MyTable e mytable sono uguali. In MySQL, il comportamento dipende dal sistema operativo. Nella pratica è comune usare maiuscole per le parole chiave per evidenziare la struttura della query.

Punto e virgola e fine istruzioni

In PostgreSQL, ogni istruzione termina normalmente con un punto e virgola ;. Dimenticarlo può bloccare l'esecuzione in strumenti come psql. MySQL e SQLite sono più permissivi nelle shell interattive, ma il punto e virgola rimane la buona pratica. Questo piccolo simbolo è spesso la causa di errori nelle query digitate velocemente.

Query SELECT e join

Scrivere query significa spesso scrivere join. PostgreSQL usa INNER JOIN, LEFT JOIN e RIGHT JOIN. Ogni join richiede la parola chiave ON seguita da una condizione. Un errore di spazio o di battitura nella condizione rende la query invalida. Esercitarsi con i join aiuta a essere precisi con simboli come = e ..

SELECT c.id, c.name, o.amount
FROM customers c
INNER JOIN orders o ON o.customer_id = c.id
WHERE o.amount > 100;

Funzioni ed espressioni

PostgreSQL include molte funzioni integrate come COUNT(), SUM() e AVG(). Le parentesi sono sempre necessarie. Funzioni di data e ora come NOW() o DATE_TRUNC() sono proprie di PostgreSQL. MySQL ha equivalenti come CURDATE() o DATE_FORMAT(). Scriverle correttamente richiede attenzione a underscore, virgole e parentesi.

SELECT DATE_TRUNC('month', created_at) AS month,
       COUNT(*) AS orders
FROM orders
GROUP BY month
ORDER BY month;

INSERT, UPDATE, DELETE

I comandi che modificano i dati usano molti segni di punteggiatura. INSERT usa parentesi e virgole per colonne e valori. UPDATE usa = separato da virgole. DELETE combina parole chiave e condizioni. Queste strutture sono quasi identiche in PostgreSQL, MySQL, SQLite e SQL Server, con regole di citazione diverse.

INSERT INTO users (id, name, email)
VALUES (1, 'Alice', 'a@example.com');

UPDATE users
SET name = 'Bob', email = 'bob@example.com'
WHERE id = 1;

DELETE FROM users WHERE id = 2;

Common Table Expressions (CTE)

PostgreSQL utilizza molto le CTE introdotte con WITH. Spesso contengono molte parentesi e virgole, quindi sono un ottimo esercizio. MySQL e SQLite le supportano nelle versioni recenti, così come SQL Server. La collocazione corretta delle parentesi è la difficoltà più comune.

WITH recent_orders AS (
  SELECT * FROM orders WHERE created_at > NOW() - INTERVAL '30 days'
)
SELECT customer_id, COUNT(*) AS order_count
FROM recent_orders
GROUP BY customer_id;

Funzioni finestra

PostgreSQL è conosciuto per le sue funzioni finestra avanzate. La sintassi tipica OVER (PARTITION BY ... ORDER BY ...) richiede attenzione alle parentesi e alle parole chiave. Anche MySQL e SQL Server le supportano, ma PostgreSQL è spesso il riferimento.

SELECT customer_id,
       SUM(amount) OVER (PARTITION BY customer_id ORDER BY created_at) AS running_total
FROM payments;

Parametri e placeholders

Nelle applicazioni, i placeholders cambiano a seconda del database. PostgreSQL usa $1, $2, MySQL e SQLite usano ?, e SQL Server usa @p1. Questi piccoli simboli sono facili da sbagliare, ma fondamentali per l'esecuzione.

-- PostgreSQL
SELECT * FROM users WHERE id = $1;

-- MySQL
SELECT * FROM users WHERE id = ?;

Riepilogo

Per convenzione, le parole chiave SQL si scrivono in maiuscolo, mentre gli identificatori rimangono in minuscolo salvo citazioni. PostgreSQL aggiunge virgolette doppie per identificatori, placeholders $n, CTE e funzioni finestra. MySQL usa backtick e placeholders ?. SQL Server introduce parentesi quadre e parametri con @. SQLite mantiene la sintassi semplice, ma richiede precisione. Scrivere query SQL esercita l'accuratezza con punteggiatura, parole chiave e simboli, e concentrarsi su PostgreSQL dà esperienza con uno dei database moderni più diffusi.

 
Il tuo browser non supporta il Canvas HTML 5.
testo successivo
prossima lezione
Compito Torna al test
sql
pubblicità
iniziare a digitare!
grafico nascondere