SQLite - Sott query: Una Guida per Principianti

Ciao, aspiranti programmatori! Oggi ci imbarcheremo in un viaggio emozionante nel mondo delle sott query di SQLite. Non preoccuparti se sei nuovo alla programmazione - sarò il tuo guida amichevole, spiegando tutto passo per passo. Immersione!

SQLite - Subqueries

Cos'è una Sott query?

Prima di entrare nei dettagli, capiamo cos'è una sott query. Immagina di stanno pianificando una festa e hai bisogno di creare una lista degli invitati. Potresti prima fare una lista di tutti i tuoi amici, poi restringerla a quelli che vivono vicino. In SQL, una sott query è come quel secondo passo - una query dentro una query che ti aiuta a raffinare i tuoi risultati.

Sott query con la Dichiarazione SELECT

Iniziamo con l'uso più comune delle sott query - nelle dichiarazioni SELECT.

Esempio di Sott query di Base

SELECT name
FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees);

In questo esempio, stiamo cercando dipendenti il cui stipendio è superiore alla media. La query interna (SELECT AVG(salary) FROM employees) calcola lo stipendio medio, e la query esterna utilizza questo risultato per filtrare i dipendenti.

Sott query nella Clausola FROM

SELECT department, avg_salary
FROM (
SELECT department, AVG(salary) as avg_salary
FROM employees
GROUP BY department
) AS dept_salaries
WHERE avg_salary > 50000;

Qui, stiamo creando una tabella temporanea con stipendi medi per dipartimento, poi selezioniamo i dipartimenti con uno stipendio medio superiore a 50,000.

Sott query con la Dichiarazione INSERT

Le sott query possono anche essere utilizzate per inserire dati basati su informazioni esistenti.

INSERT INTO high_earners (employee_id, name)
SELECT id, name
FROM employees
WHERE salary > (SELECT AVG(salary) * 1.5 FROM employees);

Questa query inserisce i dipendenti che guadagnano più di 1.5 volte lo stipendio medio in una tabella 'high_earners'.

Sott query con la Dichiarazione UPDATE

Aggiornare i dati basati sulle sott query è un'altra funzionalità potente.

UPDATE employees
SET bonus = salary * 0.1
WHERE department_id IN (
SELECT id
FROM departments
WHERE performance_rating > 8
);

Questa query gives un bonus del 10% ai dipendenti dei dipartimenti ad alte prestazioni.

Sott query con la Dichiarazione DELETE

Infine, vediamo come le sott query possono aiutare con la cancellazione dei dati.

DELETE FROM products
WHERE id NOT IN (
SELECT product_id
FROM orders
WHERE order_date > DATE('now', '-1 year')
);

Questa query cancella i prodotti che non sono stati ordinati negli ultimi 12 mesi.

Metodi di Sott query

Ecco una tabella che riassume i diversi metodi trattati:

Metodo Descrizione Esempio
SELECT con Sott query Usa una sott query per filtrare o calcolare valori per la query principale SELECT ... WHERE colonna > (SELECT AVG(...))
Sott query nella FROM Crea una tabella derivata da cui fare la query SELECT ... FROM (SELECT ...) AS tabella_derivata
INSERT con Sott query Inserisce dati basati su una sott query INSERT INTO ... SELECT ... WHERE ...
UPDATE con Sott query Aggiorna i dati basati su una sott query UPDATE ... SET ... WHERE colonna IN (SELECT ...)
DELETE con Sott query Cancella dati basati su una sott query DELETE FROM ... WHERE colonna NOT IN (SELECT ...)

Conclusione

Complimenti! Hai appena fatto i tuoi primi passi nel mondo delle sott query di SQLite. Ricorda, come imparare a guidare una bicicletta, padroneggiare le sott query richiede pratica. Non ti scoraggiare se non ti convince subito - continua a sperimentare con diverse query, e presto sarai in grado di scrivere sott query complesse con facilità.

Mentre chiudiamo, ecco una piccola storia dalla mia esperienza di insegnamento: Ho avuto una studentessa che aveva difficoltà con le sott query. Ha paragonato le sott query a bambole russe - query dentro query. Questa analogia le ha aiutato a visualizzare il concetto, e presto è diventata una delle migliori della classe nella scrittura delle sott query.

Quindi, che tu veda le sott query come bambole russe, o forse come una caccia al tesoro dove ogni query ti avvicina al premio, continua a praticare ed esplorare. Il mondo dei dati è vasto ed emozionante, e le sott query sono la tua chiave per svelarne i segreti!

Buona query, e ricorda - nel mondo dei database, la curiosità è il tuo miglior amico. Continua a fare domande, e troverai sempre risposte!

Credits: Image by storyset