Sql Flashcards

1
Q

Cos’è SQL?

A

SQL (Structured Query Language) è un linguaggio di programmazione standard utilizzato per gestire e manipolare database relazionali. Consente agli utenti di creare, leggere, aggiornare ed eliminare dati in un database.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quali sono le principali operazioni CRUD in SQL?

A

-CREATE: Inserimento di nuovi dati (INSERT).
-READ: Lettura di dati esistenti (SELECT).
-UPDATE: Aggiornamento di dati esistenti (UPDATE).
-DELETE: Cancellazione di dati esistenti (DELETE).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Come si crea una tabella in SQL?

A

CREATE TABLE nome_tabella (
colonna1 tipo_dato1 [CONSTRAINT],
colonna2 tipo_dato2 [CONSTRAINT],

);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Cosa sono le subquery e come vengono utilizzate?

A

Le subquery sono query annidate all’interno di un’altra query. Vengono utilizzate per restituire un risultato che può essere utilizzato dalla query esterna per ulteriori elaborazioni. Possono essere utilizzate nelle clausole SELECT, FROM, WHERE, ecc.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Quali sono i vari tipi di JOIN in SQL?

A

-INNER JOIN: Restituisce le righe con valori corrispondenti in entrambe le tabelle.
-LEFT JOIN: Restituisce tutte le righe dalla tabella di sinistra e le righe corrispondenti dalla tabella di destra.
-RIGHT JOIN: Restituisce tutte le righe dalla tabella di destra e le righe corrispondenti dalla tabella di sinistra.
-FULL JOIN: Restituisce tutte le righe quando c’è una corrispondenza in una delle tabelle.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Cos’è una vista (VIEW) in SQL?

A

Una vista è una tabella virtuale creata da una query SELECT. Non memorizza fisicamente i dati ma presenta i dati delle tabelle sottostanti in una forma specifica.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Come si crea una vista in SQL?

A

CREATE VIEW nome_vista AS
SELECT colonna1, colonna2, …
FROM nome_tabella
WHERE condizione;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Cosa sono le stored procedures?

A

Le stored procedures sono un insieme di istruzioni SQL salvate nel database che possono essere eseguite più volte. Accettano parametri di input e output e possono eseguire operazioni complesse.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Come si crea una stored procedure in SQL?

A

CREATE PROCEDURE nome_procedura (parametro1 tipo, parametro2 tipo, …)
BEGIN
– Corpo della procedura
END;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Cosa sono i triggers in SQL?

A

I triggers sono blocchi di codice SQL che vengono eseguiti automaticamente in risposta a determinati eventi su una tabella, come INSERT, UPDATE o DELETE.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Come si crea un trigger in SQL?

A

CREATE TRIGGER nome_trigger
BEFORE|AFTER INSERT|UPDATE|DELETE
ON nome_tabella
FOR EACH ROW
BEGIN
– Corpo del trigger
END;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Cos’è un indice in SQL e quali sono i suoi vantaggi?

A

Un indice è una struttura di dati che migliora la velocità delle operazioni di ricerca e recupero dei dati nelle tabelle. Vantaggi includono miglioramento delle prestazioni delle query e ordinamento dei dati.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Come si crea un indice in SQL?

A

CREATE INDEX nome_indice
ON nome_tabella (colonna1 [ASC|DESC], colonna2 [ASC|DESC], …);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Cosa sono le transazioni in SQL e quali comandi vengono utilizzati per gestirle?

A

Le transazioni sono un insieme di operazioni eseguite come un’unità di lavoro. I comandi principali sono BEGIN TRANSACTION, COMMIT, e ROLLBACK.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Come si gestiscono i permessi e il controllo degli accessi in SQL?

A

-GRANT: Concede permessi a un utente o a un ruolo.
-REVOKE: Revoca permessi precedentemente concessi.
-DENY: Nega specifici permessi (principalmente in SQL Server).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Cosa sono i JOIN in SQL?

A

I JOIN in SQL sono comandi utilizzati per combinare righe da due o più tabelle, basati su una colonna correlata tra le tabelle.

17
Q

Qual è la differenza tra LEFT JOIN e RIGHT JOIN?

A

-LEFT JOIN: Include tutte le righe della tabella sinistra e le righe corrispondenti della tabella destra. Le righe non corrispondenti della tabella destra saranno NULL.
-RIGHT JOIN: Include tutte le righe della tabella destra e le righe corrispondenti della tabella sinistra. Le righe non corrispondenti della tabella sinistra saranno NULL.

18
Q

Qual è la differenza tra CHAR e VARCHAR2 in SQL?

A

-CHAR(n): Occupa sempre N byte, riempito con spazi se necessario.
-VARCHAR2(n): Occupa da 1 a N byte, senza riempimento con spazi.

19
Q

Cos’è una chiave primaria (Primary Key)?

A

Una chiave primaria è un identificativo unico per un record in una tabella. Può essere un codice identificativo unico esterno o un numero generato internamente.

20
Q

Cos’è una chiave secondaria (Secondary Key)?

A

Una chiave secondaria è una chiave aggiuntiva, o chiave alternativa, utilizzata per localizzare dati specifici, oltre alla chiave primaria.

21
Q

Qual è la differenza tra i comandi DELETE e TRUNCATE?

A

-DELETE: Rimuove una o più righe basate su una condizione specificata.
-TRUNCATE: Rimuove tutte le righe da una tabella, resettando anche gli indici.

22
Q

Cos’è una chiave unica (Unique Key)?

A

Una chiave unica è un insieme di uno o più campi/colonne che identificano univocamente un record in una tabella.

23
Q

Scrivi una query SQL per visualizzare la data corrente.

A

SELECT GETDATE();

24
Q

Cos’è una chiave esterna (Foreign Key) in SQL?

A

Una chiave esterna è una colonna (o combinazione di colonne) i cui valori devono corrispondere ai valori di una colonna in un’altra tabella, garantendo l’integrità referenziale.

25
Q

Qual è la differenza tra i comandi DROP e TRUNCATE?

A

-DROP: Rimuove completamente il database, la tabella, gli indici e i dati.
-TRUNCATE: Rimuove solo tutte le righe da una tabella, mantenendo la struttura della tabella.

26
Q

Spiega i diversi tipi di indici in SQL.

A

-Indice Clustered: Ordina fisicamente i dati di una tabella secondo l’ordine dell’indice. Una tabella può avere un solo indice clustered.
-Indice Non-Clustered: Crea una struttura separata che punta alle righe della tabella. Una tabella può avere più indici non-clustered.

27
Q

Quante funzioni di aggregazione ci sono in SQL?

A

Ci sono cinque principali funzioni di aggregazione: MIN, MAX, COUNT, SUM, e AVG.

28
Q

Qual è l’ordinamento predefinito dei dati utilizzando la clausola ORDER BY? Come può essere modificato?

A

L’ordinamento predefinito è ascendente. Può essere modificato specificando DESC per ordine discendente.

29
Q

Come si usa l’istruzione DISTINCT? A cosa serve?

A

L’istruzione SELECT DISTINCT viene utilizzata per restituire solo valori distinti (unici) da una colonna, eliminando i duplicati.

30
Q

Quali sono la sintassi e l’uso della funzione COALESCE?

A

SELECT COALESCE (espressione1, espressione2, …);

La funzione COALESCE restituisce il primo valore non-NULL tra le espressioni.

31
Q

Cosa sono gli operatori di set in SQL?

A

Gli operatori di set sono utilizzati per combinare o escludere i risultati di due o più query SELECT in un unico set di risultati. Includono UNION, INTERSECT, e EXCEPT.

32
Q

Qual è la differenza tra gli operatori IN e BETWEEN?

A

-IN: Specifica più valori.
-BETWEEN: Seleziona un intervallo di dati tra due valori.

33
Q

Uno spazio bianco o uno zero sono equivalenti a un valore NULL?

A

No, uno spazio bianco e uno zero sono valori, mentre NULL indica l’assenza di un valore.

34
Q

Come scrivere una query SQL per trovare i nomi degli studenti che iniziano con ‘A’?

A

SELECT * FROM studenti WHERE nome LIKE ‘A%’;

35
Q

Cosa sono le funzioni di manipolazione delle maiuscole? Spiega i diversi tipi in SQL.

A

Le funzioni di manipolazione delle maiuscole modificano la maiuscolizzazione delle stringhe. Includono LOWER, UPPER, e INITCAP.

36
Q

Spiega le funzioni di manipolazione dei caratteri e i loro tipi in SQL.

A

Le funzioni di manipolazione dei caratteri includono CONCAT, SUBSTR, e REPLACE per concatenare, estrarre e sostituire parti di stringhe, rispettivamente.

37
Q

Qual è la differenza tra le clausole WHERE e HAVING?

A

-WHERE: Filtra i record prima dell’aggregazione.
-HAVING: Filtra i gruppi di record dopo l’aggregazione.

38
Q

Quale funzione viene utilizzata per restituire il resto di una divisione in SQL?

A

La funzione MOD().

39
Q

È possibile inserire valori manualmente in una colonna IDENTITY?

A

No, i valori in una colonna IDENTITY vengono generati automaticamente dal sistema.