Torna all'elenco degli articoli Articoli
Tempo di lettura: 18 minuti

22 esercizi per esercitarsi con i comandi SQL

Volete migliorare le vostre conoscenze di SQL? Esercitatevi con i comandi SQL in questi 22 esercizi realistici!

Un vecchio detto dice che "l'esperienza non può essere sostituita". Ma come si fa a fare esperienza quando si sta iniziando a imparare qualcosa di nuovo? Il modo migliore è fare pratica, pratica e ancora pratica! In questo articolo vi forniremo alcuni esercizi pratici sui comandi SQL.

Tutti i nostri esercizi pratici sono tratti da corsi su LearnSQL.it. Offriamo corsi interattivi di SQL su diversi percorsi. Alcuni corsi sono rivolti ai principianti; il nostro SQL per principianti corso include più di 120 esercizi che coprono i comandi SQL di base. Gli utenti intermedi possono beneficiare di percorsi come Pratica su SQLche comprende dieci corsi interattivi e più di 100 ore di pratica! E per i professionisti esperti, i tre corsi della traccia SQL avanzato (con quasi 400 esercizi pratici) aiutano a padroneggiare le funzioni più approfondite di SQL.

Iniziamo a migliorare la nostra conoscenza dei comandi SQL!

Lavorare con una tabella: SELECT, WHERE, ORDER BY, GROUP BY

Nei prossimi esercizi interrogheremo i dati di una singola tabella che contiene informazioni sui gatti. La tabella si chiama Cat e ha le seguenti colonne:

  • id - L'ID di un dato gatto. È la chiave primaria della tabella.
  • name - Il nome del gatto
  • breed - Il gatto
  • coloration - Il gatto
  • age - Il gatto
  • sex - Il gatto
  • fav_toy - Il giocattolo preferito del gatto.

Esercizio #1: Selezione di colonne e filtraggio di dati numerici

Esercizio: Selezionare il nome, la razza e la colorazione di ogni gatto di età inferiore a cinque anni.

Soluzione:

SELECT 
  name, 
  breed, 
  coloration
FROM cat
WHERE age < 5;

Spiegazione: Elencare le colonne richieste (name, breed e coloration) nella clausola SELECT e separarle con delle virgole. Fare riferimento alla tabella Cat nella clausola FROM e utilizzare la condizione age < 5 nella clausola WHERE.

Esercizio #2: Selezione di tutte le colonne e filtraggio dei dati di testo

Esercizio: Selezionare tutti i dati per i gatti la cui:

  • La razza inizia con la "R".
  • Il giocattolo preferito inizia con la parola "palla".
  • La colorazione termina con una "m".

Soluzione:

SELECT *
FROM cat
WHERE breed LIKE 'R%'
  AND fav_toy LIKE 'ball%'
  AND coloration LIKE '%m';

Spiegazione: Poiché vogliamo ottenere tutte le colonne della tabella nel risultato, utilizziamo il simbolo * per rappresentare tutte le colonne disponibili nella tabella. Facciamo riferimento alla Cat nella clausola FROM e includiamo le tre condizioni di filtro richieste usando l'operatore LIKE e il carattere jolly %. L'uso dell'operatore AND significa che ogni condizione è correlata alla precedente; tutte e tre devono essere vere perché la riga sia inclusa nel risultato.

Ricordare che i valori di testo devono essere racchiusi tra apici singoli.

Esercizio #3: Selezione di colonne e filtraggio di dati nulli

Esercizio: Selezionare i nomi di tutti i gatti maschi che non hanno un giocattolo preferito, cioè il valore del campo fav_toy è NULL per questi gatti.

Soluzione:

SELECT name
FROM cat
WHERE sex = 'M'
  AND fav_toy IS NULL;

Spiegazione: Includere solo la colonna nome nella clausola SELECT. Utilizzate due condizioni di filtro con l'operatore AND nella clausola WHERE. La prima condizione consiste nel far corrispondere la colonna sex con il letterale 'M'. La seconda condizione filtra le righe in cui la colonna fav_toy ha un valore NULL.

Importante: non è possibile confrontare i valori NULL con altri valori utilizzando operatori di confronto come equal; è necessario chiedere se un valore è NULL o NON NULL.

Esercizio #4: Ordinare i dati restituiti da una SELECT

Esercizio: Selezionare il nome, l'età, la razza e il sesso di tutti i gatti, mostrando prima quelli più vecchi.

Soluzione:

SELECT 
  name, 
  age, 
  breed, 
  sex
FROM cat
ORDER BY age DESC;

Spiegazione: Elencare le colonne richieste (name, age, breed e sex) nella clausola SELECT. Fare riferimento alla Cat nella clausola FROM e ordinare le righe usando la clausola ORDER BY< seguita dalla colonna età.

Poiché l'ordine predefinito è ascendente, è necessario includere la parola chiave opzionale DESC per ordinare i dati in ordine decrescente, cioè per recuperare prima i gatti più vecchi.

Esercizio #5: Raggruppare i dati e ordinare per aggregazione

Esercizio: Mostrare il numero di gatti per ogni tipo di colorazione, usando number_of_cats come alias per la funzione aggregata che calcola queste informazioni. Mostrare prima le colorazioni con meno gatti.

Soluzione:

SELECT 
  coloration, 
  COUNT(*) AS number_of_cats
FROM cat
GROUP BY coloration
ORDER BY number_of_cats DESC;

Spiegazione: Includere la colonna colorazione e la funzione aggregata COUNT(*) nella clausola SELECT. Usare l'alias AS number_of_cats per restituire un nome facile da usare per la colonna COUNT(*).

Usare la clausola GROUP BY seguita dalla colonna coloration per raggruppare i dati in base alla colorazione. Ordinare i risultati con la clausola ORDER BY seguita da un nome di colonna o da un alias, in questo caso number_of_cats.

Esercizio #6: Raggruppare i dati e filtrare per aggregazione

Esercizio: Mostrare l'età media dei gatti di ogni razza; usare Average_Age come alias per la funzione aggregata. Mostrare solo le razze in cui l'età media è superiore a cinque anni.

Soluzione:

SELECT 
  breed, 
  AVG(age) AS Average_Age
FROM cat
GROUP BY breed
HAVING AVG(age) > 5;

Spiegazione: Includere la colonna razza e la funzione aggregata AVG(age) nella clausola SELECT. Utilizzare un alias per restituire un nome di colonna facile da usare per la funzione aggregata. Utilizzare la clausola GROUP BY seguita dalla colonna razza per raggruppare i dati in base a ciascuna razza di gatto.

Poiché è necessario filtrare in base ai risultati dell'aggregazione, non è possibile utilizzare la clausola WHERE, che filtra le righe BEFORE raggruppate. È invece necessario utilizzare la clausola HAVING, che viene applicata dopo che le righe sono state raggruppate.

Per saperne di più: Trovate altri esempi GROUP BY pratici nell'articolo 10 esercizi GROUP BY Pratica su SQL con soluzioni.

Lavorare con più tabelle: JOIN

Nei prossimi esercizi interrogheremo i dati di più tabelle. Utilizzeremo un modello molto semplice che comprende dipendenti, stipendi e benefit.

Vediamo la employee struttura della tabella:

  • id - l'id di un determinato dipendente.
  • first_name - Il nome del dipendente.
  • last_name - Il cognome del dipendente.
  • salary - Il nome del dipendente
  • manager_id - L'ID del manager del dipendente.

Poi, la tabella salgrade conserva le informazioni sul grado dello stipendio:

  • grado - Il grado di uno stipendio.
  • lower_limit - Il limite inferiore del grado dello stipendio.
  • upper_limit - Il limite superiore del grado salariale.

L'ultima tabella, benefitsha solo due colonne:

  • benefit_name - Il nome di un determinato beneficio.
  • salary_req - Il salario minimo richiesto per ottenere questo beneficio.

Esercizio #7: Unire implicitamente i dati di più tabelle

Esercizio: Selezionare il nome, il cognome, lo stipendio e il grado di stipendio dei dipendenti il cui stipendio è compreso tra lower_limit e upper_limit nella tabella. salgrade tabella.

Soluzione:

SELECT 
  first_name, 
  last_name, 
  salary, 
  grade
FROM employee, salgrade
WHERE salary BETWEEN lower_limit AND upper_limit;

Spiegazione: Elencate le colonne richieste (first_name, last_name, salary, grade) nella clausola SELECT. Fare riferimento a entrambi gli elementi employee e salgrade nella clausola FROM. Si utilizza la clausola WHERE per definire i criteri di join tra le due tabelle, specificando che lo stipendio dei dipendenti deve essere compreso tra i limiti inferiore e superiore della tabella salgrade della tabella.

Esercizio #8: Unire esplicitamente i dati di più tabelle

Esercizio: Mostrare tutti i benefit che il dipendente di id = 5 riceverebbe. Selezionare il nome e il cognome del dipendente e i nomi dei benefit.

Soluzione:

SELECT 
  first_name, 
  last_name, 
  benefits.benefit_name
FROM employee
JOIN benefits 
ON employee.salary > benefits.salary_req
WHERE employee.id = 5;

Spiegazione: Elencate le colonne richieste (first_name, last_name, benefits.benefit_name) nella clausola SELECT. Fare riferimento alla employee nella clausola FROM e quindi unire esplicitamente le righe alla tabella dei benefit utilizzando la parola chiave JOIN.

La condizione che definisce la relazione tra le due tabelle viene specificata dopo la parola chiave ON. In questo modo le condizioni di relazione tra le tabelle sono separate dalle condizioni di filtraggio, migliorando la chiarezza della query. Le condizioni di filtro sono ancora definite nella clausola WHERE; in questo caso, si usa la condizione employee.id = 5.

Esercizio #9: Unire e raggruppare i dati di più tabelle

Esercizio: Per ogni benefit, trovare il numero di dipendenti che lo ricevono. Mostrare due colonne: la benefit_name e il numero di dipendenti che la ricevono (nominare la colonna employee_count). Non dimenticare i benefit che non vengono ricevuti da nessuno.

Soluzione:

SELECT 
  benefits.benefit_name, 
  COUNT(employee.id) AS employee_count
FROM benefits
LEFT JOIN employee 
ON salary_req <= employee.salary
GROUP BY benefits.benefit_name;

Spiegazione: Includere la colonna benefit_name e la funzione di aggregazione COUNT() (applicata alla colonna employee.id ) nella clausola SELECT. Utilizzare un alias per i risultati della funzione aggregata: AS employee_count. Fare riferimento alla benefits nella clausola FROM e poi unire la tabella employee tabella utilizzando un LEFT JOIN.

Ricordate che le operazioni LEFT (e RIGHT) JOIN recuperano tutti i dati dal lato sinistro (o destro) dei criteri JOIN, anche se non esistono righe corrispondenti nell'altra tabella. Per saperne di più, consultare l'articolo SQL JOIN Types Explained.

I criteri di join sono specificati dopo la parola chiave ON. Infine, utilizzare la clausola GROUP BY per aggregare i dati al livello benefit_name.

Esercizio #10: Unire una tabella a se stessa (auto-unioni)

Esercizio: Mostrare il nome, il cognome, lo stipendio di ogni dipendente e il nome e il cognome del suo diretto responsabile nella stessa riga. Per i dipendenti che non hanno un manager (ad esempio, l'amministratore delegato), mostrare NULL come nome e cognome del manager.

Utilizzare un alias per anteporre alle colonne dei dipendenti il prefisso employee_ e a quelle dei manager il prefisso manager_ (ad es. employee_first_name).

Soluzione:

SELECT 
  e.first_name AS employee_first_name, 
  e.last_name AS employee_last_name, 
  e.salary AS employee_salary,
  m.first_name AS manager_first_name,
  m.last_name AS manager_last_name
FROM employee e
LEFT JOIN employee m 
ON e.manager_id = m.id;

Spiegazione: Includere il nome, il cognome e lo stipendio del dipendente usando e come alias della tabella. employee alias della tabella. Includere il nome e il cognome del manager usando m come alias della tabella. Nella clausola FROM, utilizzare la tabella employee con l'alias e per fare riferimento ai dati dei dipendenti; nella clausola LEFT JOIN, utilizzare la tabella con l'alias m per fare riferimento ai dati dei dipendenti. employee con l'alias m per fare riferimento ai dati dei manager. La condizione di join è che il valore manager_id del dipendente deve corrispondere al valore id del manager.

Per saperne di più: Unire una tabella a se stessa è un'operazione comune. Può sembrare complicata, ma è più semplice da capire se si usano gli alias giusti per le tabelle coinvolte! Per ulteriori informazioni sulle JOIN, consultate il nostro corso SQL JOINS. Contiene più di 90 esercizi interattivi, tra cui dieci esempi gratuiti per iniziare subito a esercitarsi.

Uso delle sotto-query

In questa sezione utilizzeremo le subquery per interrogare i dati in base a condizioni che dipendono da altri dati memorizzati nel database. Utilizzeremo le seguenti tabelle, a partire dalla tabella orchestras tabella:

  • id - L'ID dell'orchestra.
  • name - Il nome dell'orchestra.
  • rating - La valutazione dell'orchestra negli ultimi dieci anni.
  • city_origin - La città di provenienza dell'orchestra (ad esempio, "Berlino" per la Filarmonica di Berlino).
  • country_origin - Il Paese di origine dell'orchestra (ad esempio, "Germania" per i Berliner Philharmoniker).
  • anno - L'anno in cui è stata creata l'orchestra.

La tabella concert conserva informazioni sui concerti eseguiti dalle orchestre:

  • id - L'ID del concerto.
  • city - Il nome della città in cui si è svolto il concerto. Può essere diverso dalla città di origine dell'orchestra.
  • country - Il nome del Paese in cui si è svolto il concerto.
  • year - L'anno in cui il concerto è stato eseguito.
  • rating - La valutazione che la critica ha dato al concerto.
  • orchestra_id - L'ID dell'orchestra che ha eseguito il concerto.

La tabella members conserva informazioni su ciascun membro dell'orchestra:

  • id - L'ID di un determinato membro.
  • name - Il nome del membro.
  • position - La posizione del membro nell'orchestra (ad esempio, secondo flauto, viola principale).
  • wage - Un pagamento mensile fisso dato al membro dell'orchestra.
  • experience - Il numero di anni di esperienza di questo orchestrale.
  • orchestra_id - L'ID dell'orchestra.

Esercizio #11: Utilizzo di subquery per filtrare i dati

Esercizio: Mostrare i nomi delle orchestre che sono state create dopo l'"Orchestra da camera" e che hanno una valutazione superiore a 7,5.

Soluzione:

SELECT name
FROM orchestras 
WHERE year > 
(SELECT year 
FROM orchestras 
WHERE name = 'Chamber Orchestra') 
  AND rating > 7.5;

Spiegazione: Le clausole SELECT e FROM di questo esercizio sono molto semplici, ma la parte più complicata è la clausola WHERE. Abbiamo due condizioni da valutare e ne conosciamo esattamente una (rating > 7.5). La seconda è sconosciuta, poiché non è un valore definito come 7,5, ma qualcosa che deve essere ricavato dai dati, ossia l'anno di fondazione dell'Orchestra da Camera.

In questi casi, utilizziamo una sottoquery, ossia una query che viene eseguita "all'interno" di una query più grande. Questo esercizio richiede una sottoquery che ottenga l'anno di fondazione dell'orchestra quando il nome è uguale a "Orchestra da camera". Utilizziamo il risultato di questa sottoquery per filtrare l'anno di fondazione di ogni orchestra.

Suggerimento: Quando si lavora con le subquery, è buona norma iniziare a costruire la subquery per prima. Una volta ottenuto il risultato desiderato, incorporarla nella query principale!

Esercizio #12: Uso delle sottoquery in FROM

Esercizio: Trovare il numero medio di membri per orchestra.

Soluzione:

SELECT AVG(d.count) 
FROM (SELECT 
        orchestra_id, 
        COUNT(id) 
FROM members 
GROUP BY orchestra_id) d;

Spiegazione: Iniziare con la sottoquery che ottiene il numero di membri per ogni orchestra e l'identificativo dell'orchestra. Inserire la sottoquery nella clausola FROM della query principale e assegnarle un alias. La clausola SELECT deve solo calcolare il numero medio di membri utilizzando la funzione aggregata AVG() sui risultati del conteggio della sottoquery.

Esercizio #13: Subquery correlate

Esercizio: Selezionare il nome, il salario e l'esperienza dei membri più pagati di ogni orchestra.

Soluzione:

SELECT 
  name, 
  wage, 
  experience
FROM members m1
WHERE wage = (SELECT MAX(wage) 
             FROM members m2 
		WHERE m1.orchestra_id = m2.orchestra_id);

Spiegazione: Includere le colonne name, wage e experience nella clausola principale SELECT. Inserite la tabella members nella clausola FROM e assegnarle l'alias m1. Nella clausola WHERE, confrontare il valore del salario (dalla query principale) con i risultati della sottoquery correlata.

La sottoquery correlata ottiene il salario massimo utilizzando la funzione aggregata MAX() per tutte le righe della tabella membri (alias m2) in cui orchestra_id corrisponde a quella della query principale.

A differenza delle normali subquery, che vengono eseguite una volta prima della query principale, le subquery correlate vengono eseguite una volta per ogni riga della query principale. Questo perché fanno riferimento ai valori della query principale.

Esercizio #14: Utilizzare filtri, join, GROUP BY e subquery

Esercizio: Per ogni orchestra, indicare il suo nome, il nome della città in cui l'orchestra ha ricevuto la valutazione più alta per la sua esibizione e tale valutazione.

Soluzione:

SELECT 
  o.name, 
  c.city, 
  c.rating
FROM orchestras o
JOIN concerts c 
ON o.id = c.orchestra_id
WHERE c.rating IN ( SELECT MAX(con.rating)
			FROM concerts con
			WHERE con.orchestra_id = o.id) ;

Spiegazione: Includere il nome dell'orchestra, il concerto city e le colonne rating nella clausola SELECT della query principale. Nella clausola FROM, includere la tabella orchestras e JOIN la tabella concerts tabella utilizzando gli ID dell'orchestra.

Usare la clausola WHERE per eguagliare il valore di concert rating con la valutazione massima del concerto ottenuta dall'orchestra. Per ottenere questo risultato, utilizzare una sottoquery correlata che applichi la funzione MAX() alla colonna rating. Nella clausola WHERE della sottoquery, far corrispondere l'ID dell'orchestra del concerto all'ID dell'orchestra della query principale.

Comandi SQL di modifica dei dati: INSERIRE, AGGIORNARE, CANCELLARE

Nelle sezioni precedenti abbiamo usato il comando SELECT. In questa sezione, ci eserciteremo a usare altri comandi SQL come INSERT, UPDATE e DELETE. Utilizzeremo la tabella dish che contiene informazioni sui pasti in un ristorante. Ha le seguenti colonne:

  • id - L'ID di ogni piatto e la chiave primaria di questa tabella.
  • type - Il tipo di piatto (ad esempio, antipasto, piatto principale, dessert).
  • name - Il piatto
  • price - Il piatto

Esercizio #15: Inserimento di una singola riga senza specificare le colonne

Esercizio: Aggiungere un piatto chiamato Cevapcici con un ID di 9 e un prezzo di 27. È un piatto principale.

Soluzione:

INSERT INTO dish 
VALUES (9, 'main course', 'Cevapcici', 27);

Spiegazione: La clausola INSERT INTO, seguita dal nome della tabella, indica la tabella in cui si desidera inserire i dati. Poiché non è stato fornito un elenco di colonne, i valori di tutte le colonne devono essere forniti nella clausola VALUES. Elencateli nell'ordine in cui sono definiti nella tabella e racchiudete l'elenco tra parentesi. In questo caso, inseriamo nella tabella l'ID, il tipo, il nome e il prezzo del piatto.

Esercizio #16: Inserimento di una singola riga e definizione delle colonne

Esercizio: La cucina balcanica sta diventando popolare, quindi abbiamo bisogno di un'altra voce balcanica nel menu. Aggiungiamo il Pane del Kosovo con un ID 10; è un antipasto. Non abbiamo ancora deciso il prezzo, quindi per ora lo omettiamo.

Soluzione:

INSERT INTO dish (id, type, name) 
VALUES (10, 'starter', 'Kosovo Bread');

Spiegazione: Dopo la clausola INSERT INTO e il nome della tabella, inserire l'elenco delle colonne da inserire. (Alle colonne non incluse nell'elenco verrà assegnato il valore NULL.

Nella clausola VALUES vengono forniti i valori per ciascuna delle colonne specificate nell'elenco.

Esercizio #17: Aggiornamento di alcune righe

Esercizio: È l'ora dell'happy hour nel nostro ristorante! Cambiare il prezzo di tutti i piatti principali a 20.

Soluzione:

UPDATE dish 
SET price = 20 
WHERE type = 'main course';

Spiegazione: Utilizzare la frase UPDATE seguita dal nome della tabella che si desidera aggiornare. Nella clausola SET, specificate la colonna che volete aggiornare (in questo caso, solo price) seguita dal nuovo valore da assegnarle.

La clausola WHERE funziona allo stesso modo della frase SELECT, ma in questo caso identifica le righe da aggiornare invece di quelle da restituire.

Esercizio #18: Aggiornamento di più colonne

Esercizio: Gli involtini primavera vanno a ruba, ma l'insalata di gamberi (ID 1) non interessa più a nessuno. Dobbiamo cambiare il nome in qualcosa di più esotico: proviamo con Green Sea Dragon. Impostate il prezzo a 10 per incoraggiare i clienti a provare questo piatto.

Soluzione:

UPDATE dish 
SET name = 'Green Sea Dragon', price = 10 
WHERE id = 1;

Spiegazione: Utilizzate la frase UPDATE seguita dal nome della tabella che volete aggiornare. Nella clausola SET, specificare le colonne da aggiornare (name e price) seguite dai nuovi valori da assegnare; separare ogni coppia di nomi e valori con una virgola. La clausola WHERE funziona allo stesso modo della frase SELECT.

Esercizio #19: Eliminazione di una singola riga

Esercizio: Le ostriche Bienville (ID 7) non sono molto popolari. Rimuoviamole dal menu.

Soluzione:

DELETE FROM dish 
WHERE id = 7;

Spiegazione: Utilizzate la clausola DELETE FROM seguita dal nome della tabella per indicare la tabella in cui verranno eliminati i dati.

La clausola WHERE funziona allo stesso modo con DELETE e con SELECT. In questo caso, confronta la colonna id con un singolo valore. Pertanto, verranno eliminate solo una o zero righe (a seconda che la riga con id = 7 esista o meno).

Esercizio #20: Eliminazione di più righe

Esercizio: Abbiamo finito lo zucchero! Cancellare tutti i dessert dal nostro menu.

Soluzione:

DELETE FROM dish 
WHERE type = 'dessert';

Spiegazione: Utilizzate la clausola DELETE FROM seguita dal nome della tabella per indicare la tabella in cui verranno eliminati i dati. La clausola WHERE funziona allo stesso modo del comando SELECT; in questo caso, il comando SQL eliminerà tutte le righe con il valore 'dessert' nella colonna tipo.

Per saperne di più: Date un'occhiata al corso Modificare i dati in SQL - istruzioni INSERT, UPDATE e DELETE per oltre 50 esercizi sull'inserimento, l'aggiornamento e la cancellazione dei dati.

Comandi CREATE TABLE e ALTER TABLE

Ora possiamo esercitarci a usare altri due comandi SQL che ci permettono di creare e modificare tabelle.

Esercizio #21: Creare una tabella semplice

Esercizio: Creare una tabella denominata result con due colonne INTEGER (id e score) e una colonna DATE (score_date).

Soluzione:

CREATE TABLE result (
  id integer,
  score integer,
  score_date date
);

Spiegazione: Utilizzare la frase CREATE TABLE seguita dal nome della tabella che si desidera creare. Fornire un elenco di nomi di colonne con il tipo di dati appropriato, separati da virgole. Assicurarsi che l'intero elenco di colonne sia racchiuso tra parentesi.

Esercizio #22: Aggiungere una colonna NOT NULL

Esercizio: Modificare la tabella result rendendo la colonna id NOT NULL e aggiungendo una nuova colonna VARCHAR chiamata nome con un limite di 32 caratteri.

Soluzione:

ALTER TABLE result ALTER COLUMN id SET NOT NULL;
ALTER TABLE result ADD COLUMN name varchar(32);

Spiegazione: Utilizzate il comando ALTER TABLE seguito dal nome della tabella. Usate la clausola ALTER COLUMN seguita dal nome della colonna che volete modificare. In questo caso, la colonna è stata impostata su NOT NULL.

Utilizzate nuovamente il comando ALTER TABLE. Questa volta, inserite la clausola ADD COLUMN seguita dal nome della nuova colonna e dal suo tipo di dati e limite di caratteri (varchar(32)).

Per saperne di più: Il corso Le basi della creazione di tabelle in SQL comprende più di 80 esercizi e 10 ore di pratica sulla creazione e la modifica di tabelle di database.

Pronti per altre esercitazioni sui comandi SQL?

Abbiamo trattato i comandi SQL che consentono di interrogare una o più tabelle, filtrare i dati, raggruppare e ordinare i dati, inserire e aggiornare i dati e cancellare i dati. Abbiamo anche mostrato le opzioni di base per creare e modificare le tabelle del database.

Tuttavia, c'è ancora molto da imparare sui comandi SQL. Consultate Your Guide to Pratica su SQL su LearnSQL.com per trovare decine di articoli che forniscono ulteriori esercitazioni sui comandi SQL.

Per un apprendimento completo, considerate l'acquisto del pacchettoCompleto per sempre SQL. Questo pacchetto vi garantisce l'accesso a tutti i corsi attuali e futuri, assicurandovi le risorse necessarie per migliorare continuamente le vostre competenze in SQL. Non perdete questa opportunità di essere sempre all'avanguardia!