50 domande e risposte all'intervista SQL per il 2025

Ecco le domande e le risposte al colloquio SQL per i candidati più freschi ed esperti che vogliono ottenere il lavoro dei loro sogni.

 

Domande di intervista SQL per matricole

1. Che cos'è il DBMS?

Un sistema di gestione di database (DBMS) è un programma che controlla la creazione, la manutenzione e l'utilizzo di un database. DBMS può essere definito come File Manager che gestisce i dati in un database anziché salvarli nei file system.

👉 Download gratuito del PDF: domande e risposte all'intervista SQL >>


2. Cos'è l'RDBMS?

RDBMS sta per Sistema di gestione di database relazionali. RDBMS memorizza i dati nella raccolta di tabelle, che è correlata da campi comuni tra le colonne della tabella. Fornisce inoltre operatori relazionali per manipolare i dati archiviati nelle tabelle.

Esempio: SQLServer.


3. Cos'è l'SQL?

SQL sta per Structured Query Language e viene utilizzato per comunicare con il database. Si tratta di un linguaggio standard utilizzato per eseguire attività quali il recupero, l'aggiornamento, l'inserimento e la cancellazione di dati da un database.
Standard Comandi SQL sono Seleziona.


4. Cos'è un database?

Il database non è altro che una forma organizzata di dati per un facile accesso, archiviazione, recupero e gestione dei dati. Questo è anche noto come forma strutturata di dati a cui è possibile accedere in molti modi.

Esempio: database di gestione scolastica, database di gestione bancaria.


5. Cosa sono le tabelle e i campi?

Una tabella è un insieme di dati organizzati in un modello con colonne e righe. Le colonne possono essere classificate come verticali e le righe sono orizzontali. Una tabella ha un numero specificato di colonne chiamate campi ma può avere un numero qualsiasi di righe chiamate record.

Esempio:.

Tabella: Dipendente.

Campo: ID dip, nome dip, data di nascita.

Dati: 201456, David, 11/15/1960.


6. Cos'è una chiave primaria?

A chiave primaria è una combinazione di campi che specificano in modo univoco una riga. Questo è un tipo speciale di chiave univoca e ha un vincolo NOT NULL implicito. Ciò significa che i valori della chiave primaria non possono essere NULL.


7. Cos'è una chiave univoca?

Un vincolo di chiave univoca identifica in modo univoco ciascun record nel database. Ciò garantisce l'unicità della colonna o dell'insieme di colonne.

Su un vincolo di chiave primaria è definito un vincolo univoco automatico. Ma no, nel caso di Unique Key.

Possono essere definiti molti vincoli univoci per tabella, ma solo un vincolo di chiave primaria definito per tabella.


8. Cos'è una chiave esterna?

Una chiave esterna è una tabella che può essere correlata alla chiave primaria di un'altra tabella. È necessario creare una relazione tra due tabelle facendo riferimento alla chiave esterna con la chiave primaria di un'altra tabella.


9. Cos'è un'unione?

Questa è una parola chiave utilizzata per interrogare i dati di più tabelle in base alla relazione tra i campi delle tabelle. Le chiavi svolgono un ruolo importante quando vengono utilizzati i JOIN.


10. Quali sono i tipi di unione e spiegarli ciascuno?

Ci sono vari tipi di unione che può essere utilizzato per recuperare i dati e dipende dalla relazione tra le tabelle.

  • Unione interna.

L'unione interna restituisce righe quando esiste almeno una corrispondenza di righe tra le tabelle.

  • Giusto Partecipa.

L'unione a destra restituisce le righe comuni tra le tabelle e tutte le righe della tabella sul lato destro. Semplicemente, restituisce tutte le righe della tabella di destra anche se non ci sono corrispondenze nella tabella di sinistra.

  • Partecipa a sinistra.

Il join sinistro restituisce le righe comuni tra le tabelle e tutte le righe della tabella sul lato sinistro. Semplicemente, restituisce tutte le righe della tabella sul lato sinistro anche se non ci sono corrispondenze nella tabella sul lato destro.

  • Partecipazione completa.

L'unione completa restituisce righe quando sono presenti righe corrispondenti in una qualsiasi delle tabelle. Ciò significa che restituisce tutte le righe della tabella a sinistra e tutte le righe della tabella a destra.


Domande di intervista SQL per 3 anni di esperienza

11. Cos'è la normalizzazione?

La normalizzazione è il processo di riduzione al minimo della ridondanza e della dipendenza organizzando i campi e la tabella di un database. Lo scopo principale della Normalizzazione è aggiungere, eliminare o modificare i campi che possono essere creati in una singola tabella.


12. Cos'è la denormalizzazione?

La denormalizzazione è una tecnica utilizzata per accedere ai dati dalle forme normali di database superiori a quelle inferiori. È anche il processo di introduzione della ridondanza in una tabella incorporando i dati delle tabelle correlate.


13. Quali sono tutte le diverse normalizzazioni?

Normalizzazione del database può essere facilmente compreso con l’aiuto di un caso di studio. Le forme normali possono essere divise in 6 forme, e sono spiegate di seguito -.

Moduli normali del database
Moduli normali del database

  • Prima forma normale (1NF):.

Ciò dovrebbe rimuovere tutte le colonne duplicate dalla tabella. Creazione di tabelle per i relativi dati e individuazione di colonne univoche.

  • Seconda forma normale (2NF):.

Soddisfa tutti i requisiti della prima forma normale. Posizionamento dei sottoinsiemi di dati in tabelle separate e creazione di relazioni tra le tabelle utilizzando chiavi primarie.

  • Terza forma normale (3NF):.

Questo dovrebbe soddisfare tutti i requisiti di 2NF. Rimozione delle colonne che non dipendono dai vincoli della chiave primaria.

  • Quarta forma normale (4NF):.

Se nessuna istanza della tabella del database contiene due o più dati indipendenti e multivalore che descrivono l'entità rilevante, allora è in 4th Forma normale.

  • Quinta forma normale (5NF):.

Una tabella è nella 5a forma normale solo se è in 4NF e non può essere scomposta in un numero qualsiasi di tabelle più piccole senza perdita di dati.

  • Sesta forma normale (6NF):.

La sesta forma normale non è standardizzata, tuttavia è da tempo oggetto di discussione tra gli esperti di database. Si spera di avere una definizione chiara e standardizzata per la sesta forma normale nel prossimo futuro...


14. Cos'è una vista?

Una vista è una tabella virtuale costituita da un sottoinsieme di dati contenuti in una tabella. Le visualizzazioni non sono virtualmente presenti e richiedono meno spazio per l'archiviazione. La vista può contenere dati di una o più tabelle combinate e dipende dalla relazione.


15. Che cos'è un indice?

Un indice è un metodo di ottimizzazione delle prestazioni che consente un recupero più rapido dei record dalla tabella. Un indice crea una voce per ogni valore e sarà più rapido recuperare i dati.


16. Quali sono i diversi tipi di indici?

Esistono tre tipi di indici:.

  • Indice unico.

Questa indicizzazione non consente al campo di avere valori duplicati se la colonna è indicizzata univoca. L'indice univoco può essere applicato automaticamente quando viene definita la chiave primaria.

  • Clustered Indice.

Questo tipo di indice riordina l'ordine fisico della tabella e ricerca in base ai valori chiave. Ogni tabella può avere un solo indice cluster.

  • NoClustered Indice.

NoClustered Index non altera l'ordine fisico della tabella e mantiene l'ordine logico dei dati. Ogni tabella può avere 999 indici non cluster.


17. Cos'è un cursore?

Un cursore del database è un controllo che consente l'attraversamento delle righe o dei record nella tabella. Questo può essere visto come un puntatore a una riga in un insieme di righe. Il cursore è molto utile per l'attraversamento, ad esempio il recupero, l'aggiunta e la rimozione dei record del database.


18. Cos'è una relazione e cosa sono?

La relazione database è definita come la connessione tra le tabelle in un database. Esistono varie relazioni di base dei dati, e sono i seguenti:.

  • Relazione uno a uno.
  • Relazione uno a molti.
  • Relazione molti a uno.
  • Relazione autoreferenziale.

19. Cos'è una query?

Una query DB è un codice scritto per recuperare le informazioni dal database. La query può essere progettata in modo tale da corrispondere alle nostre aspettative sul set di risultati. Semplicemente, una domanda al Database.


20. Cos'è la sottoquery?

Una sottoquery è una query all'interno di un'altra query. La query esterna è chiamata query principale e la query interna è chiamata sottoquery. La sottoquery viene sempre eseguita per prima e il risultato della sottoquery viene passato alla query principale.

Esaminiamo la sintassi della sottoquery:

MySQL Tutorial sulle sottoquery con esempi

Un reclamo comune dei clienti presso la Libreria video MyFlix è il basso numero di titoli di film. La direzione vuole acquistare film per una categoria che ha il minor numero di titoli.

Puoi usare una query come
SELECT category_name FROM categories WHERE category_id =( SELECT MIN(category_id) from movies);


Domande di intervista SQL per 5 anni di esperienza

21. Quali sono i tipi di sottoquery?

Esistono due tipi di sottoquery: correlata e non correlata.

Una sottoquery correlata non può essere considerata una query indipendente, ma può fare riferimento alla colonna in una tabella elencata nell'elenco FROM della query principale.

Una sottoquery non correlata può essere considerata una query indipendente e l'output della sottoquery viene sostituito nella query principale.


22. Cos'è una procedura memorizzata?

La procedura memorizzata è una funzione composta da molte istruzioni SQL per accedere al sistema di database. Diverse istruzioni SQL vengono consolidate in una procedura memorizzata e le eseguono quando e dove richiesto.


23. Cos'è un fattore scatenante?

Un trigger DB è un codice o programmi che vengono eseguiti automaticamente in risposta ad alcuni eventi su una tabella o vista in un database. Principalmente, il trigger aiuta a mantenere l'integrità del database.

Esempio: quando un nuovo studente viene aggiunto al database degli studenti, devono essere creati nuovi record nelle tabelle correlate come le tabelle Esame, Punteggio e Frequenza.


24. Qual è la differenza tra i comandi DELETE e TRUNCATE?

Il comando DELETE viene utilizzato per rimuovere righe dalla tabella e la clausola WHERE può essere utilizzata per un set condizionale di parametri. Il commit e il rollback possono essere eseguiti dopo l'istruzione delete.

TRUNCATE rimuove tutte le righe dalla tabella. Non è possibile eseguire il rollback dell'operazione di troncamento.


25. Quali sono le variabili locali e globali e le loro differenze?

Le variabili locali sono le variabili che possono essere utilizzate o esistono all'interno della funzione. Non sono note alle altre funzioni e tali variabili non possono essere riferite o utilizzate. Le variabili possono essere create ogni volta che viene chiamata quella funzione.

Le variabili globali sono le variabili che possono essere utilizzate o esistono in tutto il programma. La stessa variabile dichiarata in global non può essere utilizzata nelle funzioni. Non è possibile creare variabili globali ogni volta che viene chiamata quella funzione.


26. Cos'è un vincolo?

Il vincolo può essere utilizzato per specificare il limite sul tipo di dati della tabella. Il vincolo può essere specificato durante la creazione o la modifica dell'istruzione della tabella. Esempio di vincolo sono.

  • NON NULLO.
  • DAI UN'OCCHIATA.
  • PREDEFINITO.
  • UNICO.
  • CHIAVE PRIMARIA.
  • CHIAVE ESTERA.

27. Cosa sono i dati Integrity?

Dati Integrity definisce l'accuratezza e la coerenza dei dati archiviati in un database. Può anche definire vincoli di integrità per far rispettare le regole aziendali sui dati quando vengono immessi nell'applicazione o nel database.


28. Cos'è l'incremento automatico?

La parola chiave di incremento automatico consente all'utente di creare un numero univoco da generare quando un nuovo record viene inserito nella tabella. È possibile utilizzare la parola chiave AUTO INCREMENT Oracle e la parola chiave IDENTITY può essere utilizzata in SQL SERVER.

Per lo più questa parola chiave può essere utilizzata ogni volta che viene utilizzata PRIMARY KEY.


29. Qual è la differenza tra Cluster e nonCluster Indice?

Clustered index viene utilizzato per un facile recupero dei dati dal database modificando il modo in cui i record vengono archiviati. Il database ordina le righe in base alla colonna che è impostata come indice cluster.

Un indice non cluster non modifica il modo in cui è stato archiviato, ma crea un oggetto completamente separato all'interno della tabella. Rimanda alle righe della tabella originale dopo la ricerca.


30. Cos'è il Datawarehouse?

Datawarehouse è un archivio centrale di dati provenienti da più fonti di informazione. Tali dati vengono consolidati, trasformati e resi disponibili per l'estrazione e l'elaborazione online. I dati del magazzino hanno un sottoinsieme di dati chiamato Data Mart.


31. Che cos'è l'autoadesione?

Il self-join è impostato per essere utilizzato dalla query per il confronto con se stesso. Viene utilizzato per confrontare i valori in una colonna con altri valori nella stessa colonna nella stessa tabella. ALIAS ES può essere utilizzato per lo stesso confronto di tabelle.


32. Cos'è il Cross-Join?

Il cross join definisce come prodotto cartesiano il numero di righe nella prima tabella moltiplicato per il numero di righe nella seconda tabella. Se si suppone che la clausola WHERE venga utilizzata nel cross join, la query funzionerà come un INNER JOIN.


33. Cosa sono le funzioni definite dall'utente?

Le funzioni definite dall'utente sono le funzioni scritte per utilizzare quella logica quando richiesto. Non è necessario scrivere più volte la stessa logica. Invece, la funzione può essere chiamata o eseguita quando necessario.


34. Quali sono tutti i tipi di funzioni definite dall'utente?

Sono tre tipi di funzioni definite dall'utente.

  • Funzioni scalari.
  • Funzioni con valori della tabella in linea.
  • Funzioni con valori multi-istruzione.

Unità di restituzione scalare, variante definita la clausola di restituzione. Altri due tipi restituiscono la tabella come ritorno.


35. Cos'è la collazione?

La fascicolazione è definita come un insieme di regole che determinano il modo in cui i dati dei caratteri possono essere ordinati e confrontati. Questo può essere utilizzato per confrontare A e altri caratteri della lingua e dipende anche dalla larghezza dei caratteri.

Il valore ASCII può essere utilizzato per confrontare questi dati di carattere.


36. Quali sono i diversi tipi di sensibilità delle regole di confronto?

Di seguito sono riportati i diversi tipi di sensibilità alla collazione:

  • Sensibilità alle maiuscole e minuscole: A e a e B e b.
  • Sensibilità dell'accento.
  • Sensibilità Kana – Caratteri Kana giapponesi.
  • Sensibilità alla larghezza: carattere a byte singolo e carattere a doppio byte.

37. Vantaggi e svantaggi della procedura memorizzata?

La procedura memorizzata può essere utilizzata come programmazione modulare: significa creare una volta, memorizzare e richiamare più volte quando richiesto. Ciò supporta un'esecuzione più rapida invece di eseguire più query. Ciò riduce il traffico di rete e fornisce una migliore sicurezza ai dati.

Lo svantaggio è che può essere eseguito solo nel database e utilizza più memoria nel server del database.


38. Cos'è l'elaborazione delle transazioni online (OLTP)?

Online Transaction Processing (OLTP) gestisce applicazioni basate su transazioni che possono essere utilizzate per l'immissione, il recupero e l'elaborazione dei dati. OLTP rende la gestione dei dati semplice ed efficiente. A differenza dei sistemi OLAP, l'obiettivo dei sistemi OLTP è servire transazioni in tempo reale.

Esempio – Transazioni bancarie su base giornaliera.


39. Cos'è la CLAUSOLA?

La clausola SQL è definita per limitare il set di risultati fornendo condizioni alla query. Questo di solito filtra alcune righe dall'intero set di record.

Esempio: query con condizione WHERE

Query con condizione HAVING.


40. Cos'è la procedura memorizzata ricorsiva?

Una procedura memorizzata che chiama da sola finché non raggiunge una condizione al contorno. Questa funzione o procedura ricorsiva aiuta i programmatori a utilizzare lo stesso set di codice un numero qualsiasi di volte.


Domande di intervista SQL per oltre 10 anni di esperienza

41. Che cosa sono i comandi Unione, meno e Interact?

L'operatore UNION viene utilizzato per combinare i risultati di due tabelle ed elimina le righe duplicate dalle tabelle.

L'operatore MINUS viene utilizzato per restituire righe dalla prima query ma non dalla seconda query. I record corrispondenti della prima e della seconda query e le altre righe della prima query verranno visualizzati come set di risultati.

L'operatore INTERSECT viene utilizzato per restituire le righe restituite da entrambe le query.


42. Cos'è un comando ALIAS?

Il nome ALIAS può essere assegnato a una tabella o colonna. È possibile fare riferimento a questo nome alias Dove la clausola per identificare la tabella o la colonna.

Esempio-.

Select st.StudentID, Ex.Result from student st, Exam as Ex where st.studentID = Ex. StudentID

Qui, st si riferisce al nome alias per la tabella degli studenti ed Ex si riferisce al nome alias per la tabella degli esami.


43. Qual è la differenza tra le istruzioni TRUNCATE e DROP?

TRUNCATE rimuove tutte le righe dalla tabella e non è possibile eseguirne il rollback. Il comando DROP rimuove una tabella dal database e non è possibile eseguire il rollback dell'operazione.


44. Cosa sono le funzioni aggregate e scalari?

Le funzioni aggregate vengono utilizzate per valutare il calcolo matematico e restituire valori singoli. Questo può essere calcolato dalle colonne di una tabella. Le funzioni scalari restituiscono un singolo valore in base al valore di input.

Esempio -.

Aggregato – max(), conteggio – Calcolato rispetto al numerico.

Scalare – UCASE(), NOW() – Calcolato rispetto alle stringhe.


45. Come puoi creare una tabella vuota da una tabella esistente?

L'esempio sarà -.

Select * into studentcopy from student where 1=2

Qui stiamo copiando la tabella degli studenti in un'altra tabella con la stessa struttura senza righe copiate.


46. ​​Come recuperare record comuni da due tabelle?

Il set di risultati dei record comuni può essere ottenuto da -.

Select studentID from student INTERSECT Select StudentID from Exam

47. Come recuperare record alternativi da una tabella?

I record possono essere recuperati sia per i numeri di riga pari che per quelli dispari -.

Per visualizzare i numeri pari-.

Select studentId from (Select rowno, studentId from student) where mod(rowno,2)=0

Per visualizzare i numeri dispari-.

Select studentId from (Select rowno, studentId from student) where mod(rowno,2)=1

from (Seleziona numero riga, ID studente dallo studente) dove mod(numero riga,2)=1.[/sql]


48. Come selezionare record univoci da una tabella?

Seleziona record univoci da una tabella utilizzando la parola chiave DISTINCT.

Select DISTINCT StudentID, StudentName from Student.

49. Qual è il comando utilizzato per recuperare i primi 5 caratteri della stringa?

Esistono molti modi per recuperare i primi 5 caratteri della stringa -.

Select SUBSTRING(StudentName,1,5) as studentname from student
Select LEFT(Studentname,5) as studentname from student

50. Quale operatore viene utilizzato nella query per la corrispondenza dei modelli?

L'operatore LIKE viene utilizzato per la corrispondenza dei modelli e può essere utilizzato come -.

  1. % – Corrisponde a zero o più caratteri.
  2. _(Trattino basso) – Corrisponde esattamente a un carattere.

Esempio -.

Select * from Student where studentname like 'a%'
Select * from Student where studentname like 'ami_'

Queste domande del colloquio ti aiuteranno anche nel tuo viva(orale)