DisponibileIncluso nell’accesso beta

Micro-corso · Principiante

SQL, PostgreSQL, MySQL e SQL Server: quali differenze?

Comprendi linguaggio, sistemi e dialetti per scegliere la documentazione giusta e scrivere SQL portabile con criterio.

Da 45 a 60 minSQL comune · PostgreSQL · MySQL · SQL Server5 lezioni · 6 attività disponibili
Inizia il corso

Accesso beta gratuito per 30 giorni · nessun pagamento · progressi salvati

Il problema aziendale

Una persona pensa di imparare PostgreSQL mentre studia sintassi SQL, poi scopre differenze in un altro strumento.

Cosa saprai fare

Distinguere linguaggio, database, DBMS, server e dialetto e riconoscere le differenze importanti.

  • Nominare i quattro concetti senza confonderli
  • Individuare una differenza di dialetto
  • Scegliere una risorsa adatta al sistema

Limiti di questo micro-corso

Questo micro-corso sviluppa una competenza precisa. Non sostituisce un percorso completo né una formazione di amministrazione server.

Prerequisiti

  • Sapere che cos’è una tabella

Progetto e pratica

6 esercizi verificati sono disponibili. La validazione si basa sugli esercizi del programma.

Corso interattivo · 5 micro-lezioni · 6 verifiche

Capire sistemi e dialetti senza confonderli

Parti da un problema reale, confronta le sintassi e verifica ogni decisione con la documentazione ufficiale.

Progresso0 / 6
0/6
01
Separare linguaggio, dati e software7–9 min · Spiegare chiaramente SQL, database, DBMS, server e dialetto.

Situazione aziendale

Una collega dice che «il database SQL non funziona». Non sappiamo se il problema riguarda dati, server, connessione o query.

Domanda da risolvere

Che cosa intendiamo esattamente quando diciamo soltanto SQL?

SQL è un linguaggio per esprimere un’intenzione: leggere, collegare, aggiungere o controllare dati.

Un database è l’insieme organizzato dei dati e delle loro regole.

PostgreSQL, MySQL e SQL Server sono DBMS che memorizzano, proteggono ed elaborano i dati.

Un server o un’istanza esegue il DBMS. Un dialetto è il modo in cui un prodotto implementa ed estende SQL.

Esempio verificato

Linguaggio e softwareSQL comune · PostgreSQL

SELECT esprime una lettura; PostgreSQL controlla i permessi, sceglie un piano e restituisce il risultato.

Errore frequente Definire PostgreSQL una versione di SQL. È un DBMS che usa SQL e aggiunge funzionalità proprie.

Da ricordare SQL descrive l’intenzione; il DBMS la interpreta e gestisce i dati.

Quale frase distingue correttamente SQL e PostgreSQL?
Fonti ufficiali
02
Partire dal nucleo comune7–9 min · Riconoscere una semplice query di lettura ampiamente portabile.

Situazione aziendale

Un team deve produrre lo stesso rapporto su PostgreSQL, MySQL e SQL Server.

Domanda da risolvere

Servono tre query completamente diverse?

SELECT, FROM, WHERE, GROUP BY, HAVING e ORDER BY formano un nucleo largamente condiviso.

La portabilità dipende anche da tipi, funzioni, conversioni, collazioni e comportamento di NULL.

Nessun motore garantisce l’ordine senza ORDER BY.

Una query portabile è un’ipotesi verificata sui motori e sulle versioni di destinazione.

Esempio verificato

Rapporto di baseSQL comune
SELECT city, COUNT(*) AS orders
FROM orders
WHERE status = 'paid'
GROUP BY city
ORDER BY orders DESC, city;

La forma è comune, ma dati, tipi e ordinamento devono essere confrontabili.

Errore frequente Pensare che una sintassi accettata produca automaticamente lo stesso risultato in tre configurazioni.

Da ricordare Inizia dal nucleo comune, poi verifica le differenze rilevanti.

Qual è l’affermazione più prudente?
Fonti ufficiali
03
Riconoscere una differenza di dialetto9–11 min · Adattare un limite di righe senza cambiare l’intenzione aziendale.

Situazione aziendale

Una query copiata contiene TOP (3) e non funziona in PostgreSQL.

Domanda da risolvere

È sbagliata l’intenzione o soltanto la formulazione?

Limitare un risultato è un’intenzione comune, ma le sintassi storiche differiscono.

PostgreSQL e MySQL accettano LIMIT. SQL Server offre TOP e OFFSET … FETCH.

PostgreSQL usa virgolette doppie per gli identificatori; MySQL usa spesso accenti gravi; SQL Server accetta anche parentesi quadre.

Identificatori semplici e non riservati riducono il lavoro di migrazione.

Esempio verificato

Tre righePostgreSQL · MySQL
SELECT id, amount
FROM orders
ORDER BY amount DESC, id
LIMIT 3;

LIMIT segue ORDER BY.

Tre righeSQL Server
SELECT TOP (3) id, amount
FROM orders
ORDER BY amount DESC, id;

TOP appartiene a T-SQL; ORDER BY rende la scelta riproducibile.

Errore frequente Eliminare ORDER BY per nascondere l’errore: le tre righe non seguirebbero più la regola aziendale.

Da ricordare Conserva intenzione e risultato, non soltanto le parole.

Quale sintassi limita normalmente PostgreSQL a tre righe?
Perché mantenere ORDER BY?
Fonti ufficiali
04
Scegliere la documentazione corretta7–9 min · Trovare una fonte adatta a prodotto, versione e contesto.

Situazione aziendale

Una soluzione funziona su MySQL 8.4, ma il progetto usa SQL Server. La parola SQL ha nascosto la differenza.

Domanda da risolvere

Che cosa verificare prima di copiare una sintassi?

Identifica il DBMS e la versione prima della ricerca.

Preferisci la documentazione ufficiale e controlla l’applicabilità.

Distingui standard, estensione del prodotto e comportamento di configurazione.

Riproduci l’esempio includendo parità, NULL e casi limite.

Esempio verificato

Ricerca precisaPostgreSQL

«PostgreSQL 18 SELECT LIMIT documentation» è più sicuro di «errore SQL».

Errore frequente Considerare la data recente di un articolo come prova di compatibilità.

Da ricordare La documentazione corretta parte dal contesto corretto.

Quale ricerca offre il contesto migliore?
Fonti ufficiali
05
Migrare una query senza indovinare9–11 min · Adattare una query mantenendo il contratto aziendale.

Situazione aziendale

Un rapporto deve passare da SQL Server a PostgreSQL senza cambiare righe o importi.

Domanda da risolvere

Che cosa deve restare stabile prima di modificare la sintassi?

Scrivi il contratto del risultato: colonne, granularità, filtri, ordine, NULL e valori attesi.

Elenca le aree sensibili: date, stringhe, conversioni, JSON, identità, funzioni e procedure.

Adatta una differenza alla volta e ripeti lo stesso test.

Confronta valori e tipi utili, non solo l’assenza di errori.

Esempio verificato

ContrattoSQL comune

Restituire esattamente tre ordini, per importo decrescente e poi identificatore crescente.

AdattamentoPostgreSQL
SELECT id, amount
FROM orders
ORDER BY amount DESC, id
LIMIT 3;

Il test controlla righe e ordine.

Errore frequente Riscrivere tutto insieme e non sapere quale modifica ha cambiato il risultato.

Da ricordare Una migrazione riuscita conserva il contratto aziendale su dati di controllo.

Quale verifica dimostra meglio la correttezza della migrazione?
Fonti ufficiali

Torna al catalogo completo