Query SQL select join
Ripasso sui comandi SQL per le query di selezione e le operazioni di join, utile per gli studenti che si preparano per l'esame di maturità.
Quiz(72 domande)
1. Cos'è la funzione JOIN in SQL?
Termini in questo set(72)
Fondamenti di SQL(16)
Cos'è SQL?
SQL sta per Structured Query Language, utilizzato per gestire e manipolare database relazionali.
Qual è la sintassi base di una query SELECT?
La sintassi base è: SELECT colonne FROM tabella WHERE condizione;
Vero o falso: SQL è case-sensitive.
Falso. SQL non è case-sensitive per le parole chiave.
Qual è la funzione di SELECT?
SELECT estrae dati da una o più tabelle specificate in un database.
Sintassi per selezionare tutte le colonne?
SELECT * FROM tabella;
Quale comando modifica i dati in una tabella?
Il comando UPDATE modifica i record esistenti in una tabella.
Differenza tra DELETE e TRUNCATE?
- DELETE rimuove righe specifiche. - TRUNCATE rimuove tutte le righe senza log.
Cos'è una chiave primaria?
Una chiave primaria è un identificatore unico per ogni record in una tabella.
Cos'è una chiave esterna?
Una chiave esterna è un campo che crea un legame tra due tabelle.
Come si rinomina una colonna?
Si utilizza AS nella query: SELECT colonna AS nuovo_nome FROM tabella;
Cosa fa il comando CREATE TABLE?
CREATE TABLE definisce una nuova tabella nel database con colonne specificate.
Formattazione per la creazione di una tabella?
CREATE TABLE nome_tabella (colonna1 tipo, colonna2 tipo, ...);
Qual è l'utilizzo del comando INSERT?
INSERT aggiunge nuovi record a una tabella esistente.
Quando si utilizza DISTINCT?
DISTINCT viene usato per restituire solo valori unici in una query.
Esempio di query con filtro?
SELECT * FROM tabella WHERE condizione = 'valore';
Cosa fa il comando ALTER TABLE?
ALTER TABLE modifica la struttura di una tabella esistente.
Join in SQL(20)
Join in SQL
Unisce righe da due o più tabelle basate su una condizione comune.
INNER JOIN
Restituisce solo le righe con corrispondenze in entrambe le tabelle.
LEFT JOIN
Restituisce tutte le righe dalla tabella sinistra e le corrispondenze dalla destra.
RIGHT JOIN
Restituisce tutte le righe dalla tabella destra e le corrispondenze dalla sinistra.
FULL OUTER JOIN
Restituisce righe con corrispondenze da entrambe le tabelle e NULL dove non ci sono.
Cosa restituisce un INNER JOIN?
Solo le righe con corrispondenze in entrambe le tabelle.
LEFT JOIN esempio
SELECT a.*, b.* FROM A LEFT JOIN B ON a.id = b.a_id;
RIGHT JOIN utilizzo
Usato per ottenere tutte le righe da una tabella, anche senza corrispondenze.
FULL OUTER JOIN vs INNER JOIN
FULL restituisce tutto, INNER solo corrispondenze.
Cosa succede se non ci sono corrispondenze?
Con LEFT JOIN e RIGHT JOIN, i risultati mostrano NULL.
Cosa è un JOIN condizionale?
Un join basato su una condizione specifica, spesso utilizzando ON.
JOIN in SQL è costoso?
Vero, specialmente con grandi tabelle. Ottimizzazione necessaria.
Qual è la sintassi di un JOIN?
SELECT colonne FROM tabella1 JOIN tabella2 ON condizione;
Cosa significa NATURAL JOIN?
Unisce tabelle basate su colonne con lo stesso nome e tipo.
Cosa restituisce un CROSS JOIN?
Tutte le combinazioni possibili delle righe tra due tabelle.
JOIN vs Subquery
JOIN unisce tabelle, subquery esegue una query annidata.
Cosa è un self-join?
Unione di una tabella su se stessa, utile per confrontare righe.
Qual è l'utilizzo di USING?
Sintassi alternativa a ON quando le colonne hanno lo stesso nome.
JOIN e performance
Usare indici per migliorare le performance delle query JOIN.
Semplice esempio di JOIN
SELECT nome, città FROM clienti JOIN ordini ON clienti.id = ordini.cliente_id;
Filtri e ordinamenti(16)
Cosa fa la clausola WHERE?
Filtra i record secondo condizioni specifiche.
Utilizzo di ORDER BY?
Ordina i risultati in base a una o più colonne.
Vero o falso: GROUP BY è usato solo con funzioni aggregate.
Vero. Serve per raggruppare i dati prima di applicare funzioni aggregate.
Completa: WHERE è usato per __________.
filtrare i dati.
Differenza tra WHERE e HAVING?
WHERE filtra prima dell'aggregazione, HAVING dopo.
Esempio di ORDER BY: SELECT * FROM clienti __________.
ORDER BY nome ASC; ordina per nome in ordine crescente.
Cosa restituisce GROUP BY?
Un insieme di record raggruppati in base a una o più colonne.
Filtra i clienti di Roma: SELECT * FROM clienti WHERE __________.
città = 'Roma';
COUNT con GROUP BY: SELECT città, COUNT(*) __________.
FROM clienti GROUP BY città; conta i clienti per città.
Esempio di utilizzo di HAVING.
SELECT città, COUNT(*) FROM clienti GROUP BY città HAVING COUNT(*) > 10;
Quale comando ordina in modo discendente?
ORDER BY colonna DESC; per ordinamento decrescente.
Cosa fa il filtro BETWEEN?
Filtra i dati che rientrano in un intervallo specifico.
Esempio di WHERE con LIKE.
SELECT * FROM clienti WHERE nome LIKE 'A%'; cerca nomi che iniziano con A.
Utilizzo di DISTINCT con GROUP BY?
DISTINCT rimuove duplicati, GROUP BY aggrega risultati.
Cosa indica ORDER BY NULL?
Non ordina i risultati, ma li restituisce nell'ordine originale.
Cosa succede senza GROUP BY?
Le funzioni aggregate non possono essere utilizzate correttamente.
Funzioni aggregate(20)
COUNT
Funzione che restituisce il numero di righe in un set di risultati. Esempio: SELECT COUNT(*) FROM clienti;
Come si usa SUM?
Utilizzata per sommare valori di una colonna. Esempio: SELECT SUM(prezzo) FROM ordini;
VERO o FALSO: AVG calcola il valore massimo.
FALSO: AVG calcola la media aritmetica dei valori.
Formula per media aritmetica
Differenza tra COUNT(*) e COUNT(colonna)
COUNT(*) conta tutte le righe, COUNT(colonna) solo quelle non nulle.
Esempio di utilizzo di AVG
SELECT AVG(saldo) FROM conti WHERE attivo = 1;
SUM e GROUP BY
SUM può essere combinato con GROUP BY per sommare valori in gruppi. Esempio: SELECT categoria, SUM(prezzo) FROM vendite GROUP BY categoria;
Cos'è una funzione aggregata?
Una funzione che calcola un valore riassuntivo su un insieme di dati. Esempi: COUNT, SUM, AVG.
Quando usare COUNT?
Quando è necessario contare righe o occorrenze in un set di risultati.
Esempio di COUNT con filtri
SELECT COUNT(*) FROM clienti WHERE paese = 'Italia';
Effetto di AVG su dati nulli
AVG ignora i valori NULL. Non influiscono sul calcolo della media.
Esempio di GROUP BY con COUNT
SELECT città, COUNT(*) FROM clienti GROUP BY città;
Qual è l'output di SUM(0)?
0. Somma di zero è zero.
Come combinare più funzioni aggregate?
Esempio: SELECT COUNT(*), AVG(prezzo) FROM ordini WHERE stato = 'completato';
Quale funzione usa per trovare il totale?
Utilizza SUM per calcolare il totale di una colonna numerica.
Funzione aggregata per massimo valore
Utilizza MAX per ottenere il massimo. Esempio: SELECT MAX(prezzo) FROM prodotti;
Come si usa GROUP BY?
GROUP BY raggruppa i risultati in base a colonne specifiche. Necessario per funzioni aggregate.
Esempio di utilizzo di COUNT con GROUP BY
SELECT categoria, COUNT(*) FROM prodotti GROUP BY categoria;
Funzione per somma condizionale?
Usa SUM con una clausola WHERE per sommare sotto certe condizioni.
Come calcolare il totale vendite per anno?
SELECT YEAR(data), SUM(importo) FROM vendite GROUP BY YEAR(data);
Domande in questo set(72)
1. Cos'è la funzione JOIN in SQL?
2. Cosa restituisce un LEFT JOIN quando non ci sono corrispondenze nella tabella destra?
3. Qual è la funzione principale della clausola WHERE?
4. Qual è la funzione che restituisce il numero totale di righe in un set di risultati?
5. Qual è la sintassi per unire due tabelle?
6. Quale delle seguenti affermazioni è vera riguardo a un INNER JOIN?
7. Cosa fa la clausola ORDER BY?
8. Quale funzione utilizzi per calcolare la somma di tutti i valori in una colonna?
9. Cosa restituirà una query con INNER JOIN?
10. Qual è la sintassi corretta per eseguire un FULL OUTER JOIN?
11. Vero o falso: La clausola HAVING può essere utilizzata senza GROUP BY.
12. VERO o FALSO: AVG restituisce il numero di righe in un set di risultati.
13. Quale tipo di JOIN restituisce tutte le righe dalla prima tabella e le corrispondenze dalla seconda?
14. Cosa significa NATURAL JOIN?
15. Completa: La clausola WHERE è usata per __________.
16. Qual è la formula per calcolare la media aritmetica?
17. Cosa fa la clausola ON in una query JOIN?
18. Qual è la differenza principale tra LEFT JOIN e RIGHT JOIN?
19. Qual è la differenza principale tra WHERE e HAVING?
20. Qual è la differenza principale tra COUNT(*) e COUNT(colonna)?
21. Quale affermazione è falsa riguardo l'uso di JOIN?
22. Cosa succede se utilizziamo un CROSS JOIN?
23. Esempio di utilizzo di ORDER BY potrebbe essere:
24. Esempio di utilizzo di AVG per calcolare il saldo medio attivo?
25. Quale tipo di JOIN include tutte le righe da entrambe le tabelle?
26. Quale comando SQL utilizza la parola chiave USING?
27. Cosa restituisce la clausola GROUP BY?
28. Cosa accade quando si utilizza SUM con GROUP BY?
29. Che cosa si intende per chiave primaria in una tabella?
30. Qual è una delle motivazioni per cui i JOIN possono essere costosi in termini di performance?
31. Come filtrare i clienti di Milano?
32. Che cos'è una funzione aggregata?
33. Come si può rinominare una tabella in SQL?
34. Quale delle seguenti affermazioni è falsa riguardo ai JOIN?
35. Come si utilizza COUNT con GROUP BY?
36. Quando è utile utilizzare COUNT?
37. Qual è il risultato di un CROSS JOIN?
38. Qual è l'output di questa query: SELECT a.*, b.* FROM A LEFT JOIN B ON a.id = b.a_id WHERE b.a_id IS NULL?
39. Un esempio di utilizzo di HAVING è:
40. Esempio di COUNT con un filtro?
41. Quale comando è usato per eliminare una tabella?
42. Cosa fa un self-join?
43. Quale comando ordina i dati in modo discendente?
44. Cosa succede se AVG incontra dati nulli?
45. Cosa fa il comando SELECT DISTINCT?
46. Cosa restituisce un RIGHT JOIN se non ci sono corrispondenze nella tabella sinistra?
47. Cosa fa il filtro BETWEEN?
48. Cosa restituisce SUM(0)?
49. Qual è la funzione della clausola WHERE?
50. Qual è la differenza tra JOIN e subquery?
51. Esempio di WHERE con LIKE potrebbe essere:
52. Come combinare più funzioni aggregate in una query?
53. Che cosa fa il comando GROUP BY?
54. Quale dei seguenti JOIN può restituire righe duplicate?
55. Qual è l'utilizzo di DISTINCT con GROUP BY?
56. Quale funzione utilizzi per trovare il valore massimo in una colonna?
57. Qual è la funzione della clausola HAVING?
58. Quale di queste affermazioni è vera riguardo all'ottimizzazione dei JOIN?
59. Cosa succede se non si utilizza GROUP BY con funzioni aggregate?
60. Come si utilizza GROUP BY in una query?
61. Quale delle seguenti affermazioni descrive correttamente il comportamento di una LEFT JOIN?
62. Cosa rappresenta il termine 'JOIN condizionale'?
63. Quale tra le seguenti affermazioni è corretta?
64. Esempio di COUNT con GROUP BY?
65. Quale è un esempio comune di utilizzo di un JOIN?
66. Qual è la funzione per sommare valori condizionali?
67. Quale dei seguenti è un errore nella sintassi di un JOIN?
68. Come calcolare il totale delle vendite per anno?
69. Quale delle seguenti affermazioni descrive correttamente un FULL OUTER JOIN?
70. Quale delle seguenti affermazioni è vera riguardo alla funzione COUNT?
71. Cosa succede quando si utilizza un LEFT JOIN e non ci sono corrispondenze nella tabella destra?
72. Quale dei seguenti esempi utilizza correttamente la funzione SUM?
Set correlati
Wiederholung: Tabelle Schlüssel
SQL WHERE
Abitur: SQL JOIN Idee
Normalisierung Datenbanken Abiturvorbereitung
Entity-Relationship-Modell Kardinalitäten fürs Abi
Relationale Algebra
Transaktionen ACID Definitionen
SQL GROUP BY und HAVING
Crea il tuo set di studio
Carica un PDF, incolla le tue note o descrivi un argomento – l'IA genera schede, quiz e altro in pochi secondi.

