SQL sta per Structured Query Language è un linguaggio di programmazione specifico del dominio per la gestione dei dati nei sistemi di gestione dei database. Le competenze di programmazione SQL sono altamente desiderabili e richieste sul mercato, poiché vi è un uso massiccio di Database Management Systems (DBMS) in quasi tutte le applicazioni software. Per ottenere un lavoro, i candidati devono risolvere il colloquio in cui vengono poste varie domande del colloquio SQL.
Di seguito è riportato un elenco curato di domande e risposte dell'intervista SQL, che potrebbero essere poste durante l'intervista SQL. È probabile che ai candidati vengano poste domande di intervista SQL di base per avanzare domande SQL di livello a seconda della loro esperienza e di vari altri fattori. L'elenco seguente copre tutte le domande dell'intervista SQL per le matricole, nonché le domande dell'intervista SQL per candidati di livello esperto e alcune domande dell'intervista con query SQL.
File PDF delle domande di intervista SQL: scaricalo qui
Domande e risposte frequenti sui colloqui SQL per matricole ed esperti
1. Cos'è il DBMS?
Un Database Management System (DBMS) è un programma che controlla la creazione, la manutenzione e l'uso di un database. DBMS può essere definito come File Manager che gestisce i dati in un database anziché salvarli nei file system.
2. Cos'è RDBMS?
RDBMS è l'acronimo di Relational Database Management System. 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: SQL Server.
3. Cos'è SQL?
SQL è l'acronimo di Structured Query Language e viene utilizzato per comunicare con il database. Si tratta di un linguaggio standard utilizzato per eseguire attività come il recupero, l'aggiornamento, l'inserimento e la cancellazione dei dati da un database.
I comandi SQL standard 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 denominato record.
Esempio:.
Tabella: dipendente.
Campo: ID Emp, Nome Emp, Data di nascita.
Dati: 201456, David, 15/11/1960.
6. Cos'è una chiave primaria?
Una 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. Significa che i valori della chiave primaria non possono essere NULL.
7. Cos'è una chiave univoca?
Un vincolo di chiave univoco ha identificato in modo univoco ogni record nel database. Ciò fornisce l'unicità per la colonna o l'insieme di colonne.
Un vincolo di chiave primaria ha un vincolo univoco automatico definito su di esso. Ma no, nel caso di Unique Key.
Possono esserci molti vincoli univoci definiti 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. La relazione deve essere creata tra due tabelle facendo riferimento alla chiave esterna con la chiave primaria di un'altra tabella.
9. Cos'è un join?
Questa è una parola chiave utilizzata per eseguire query sui dati da più tabelle in base alla relazione tra i campi delle tabelle. Le chiavi giocano un ruolo importante quando vengono utilizzati i JOIN.
10. Quali sono i tipi di unione e spiegazione di ciascuno?
Esistono vari tipi di join che possono essere utilizzati per recuperare i dati e dipende dalla relazione tra le tabelle.
- Inner Join.
Il join interno restituisce le righe quando c'è almeno una corrispondenza di righe tra le tabelle.
- Right Join.
Righe di ritorno del join destro che sono comuni tra le tabelle e tutte le righe della tabella sul lato destro. Semplicemente, restituisce tutte le righe dalla tabella di destra anche se non ci sono corrispondenze nella tabella di sinistra.
- Unisciti a sinistra.
Righe di ritorno del join sinistro comuni tra le tabelle e tutte le righe della tabella sul lato sinistro. Semplicemente, restituisce tutte le righe dalla tabella del lato sinistro anche se non ci sono corrispondenze nella tabella del lato destro.
- Partecipazione completa.
Il join completo restituisce le righe quando sono presenti righe corrispondenti in una qualsiasi delle tabelle. Ciò significa che restituisce tutte le righe dalla tabella di sinistra e tutte le righe dalla tabella di destra.
11. Cos'è la normalizzazione?
La normalizzazione è il processo per ridurre al minimo la ridondanza e la dipendenza organizzando i campi e la tabella di un database. Lo scopo principale della normalizzazione è aggiungere, eliminare o modificare i campi che possono essere fatti in una singola tabella.
12. Che cos'è la denormalizzazione.
La deNormalizzazione è una tecnica utilizzata per accedere ai dati da forme normali di database superiori a quelle inferiori. È anche un processo di introduzione della ridondanza in una tabella incorporando i dati delle tabelle correlate.
13. Quali sono tutte le diverse normalizzazioni?
Le forme normali possono essere suddivise in 5 forme e sono spiegate di seguito -.
- Prima forma normale (1NF) :.
Ciò dovrebbe rimuovere tutte le colonne duplicate dalla tabella. Creazione di tabelle per i dati relativi e identificazione di colonne univoche.
- Seconda forma normale (2NF) :.
Soddisfare 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) :.
Soddisfare tutti i requisiti della terza forma normale e non dovrebbe avere dipendenze multivalore.
14. Cos'è una vista?
Una vista è una tabella virtuale costituita da un sottoinsieme di dati contenuti in una tabella. Le viste non sono virtualmente presenti e richiede meno spazio per l'archiviazione. La vista può avere dati di una o più tabelle combinate e dipende dalla relazione.
15. 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ù veloce recuperare i dati.
16. Quali sono tutti 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.
- Indice raggruppato.
Questo tipo di indice riordina l'ordine fisico della tabella e della ricerca in base ai valori delle chiavi. Ogni tabella può avere un solo indice cluster.
- Indice non raggruppato.
L'indice non cluster 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 come il recupero, l'aggiunta e la rimozione dei record del database.
18. Che cos'è una relazione e cosa sono?
Database Relationship è definito come la connessione tra le tabelle in un database. Esistono varie relazioni di base dati e sono le seguenti :.
- Rapporto uno a uno.
- Rapporto uno a molti.
- Rapporto 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 per il 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 viene chiamata come query principale e la query interna è chiamata sottoquery. SubQuery viene sempre eseguito per primo e il risultato della subquery viene passato alla query principale.
21. Quali sono i tipi di sottoquery?
Esistono due tipi di sottoquery: correlata e non correlata.
Una sottoquery correlata non può essere considerata come 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 come una query indipendente e l'output della sottoquery viene sostituito nella query principale.
22. Cos'è una stored procedure?
La stored procedure è una funzione composta da molte istruzioni SQL per accedere al sistema di database. Diverse istruzioni SQL vengono consolidate in una procedura memorizzata e vengono eseguite quando e dove necessario.
23. Cos'è un trigger?
Un trigger DB è un codice o programmi che vengono eseguiti automaticamente in risposta a qualche evento 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, è necessario creare nuovi record nelle tabelle correlate come le tabelle Esame, Punteggio e Presenze.
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 la serie condizionale di parametri. Il commit e il rollback possono essere eseguiti dopo l'istruzione di eliminazione.
TRUNCATE rimuove tutte le righe dalla tabella. L'operazione di troncamento non può essere annullata.
25. Quali sono le variabili locali e globali e le loro differenze?
Le variabili locali sono le variabili che possono essere utilizzate o esistenti all'interno della funzione. Non sono noti 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 presenti in tutto il programma. La stessa variabile dichiarata in global non può essere utilizzata nelle funzioni. Le variabili globali non possono essere create 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 table. Esempio di vincolo sono.
- NON NULLO.
- DAI UN'OCCHIATA.
- PREDEFINITO.
- UNICO.
- CHIAVE PRIMARIA.
- CHIAVE ESTERA.
27. Che cos'è l'integrità dei dati?
L'integrità dei dati definisce l'accuratezza e la coerenza dei dati archiviati in un database. Può anche definire vincoli di integrità per applicare le regole di business sui dati quando vengono inseriti nell'applicazione o nel database.
28. Che 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. La parola chiave AUTO INCREMENT può essere utilizzata in 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 Non-Cluster Index?
L'indice cluster viene utilizzato per recuperare facilmente i dati dal database modificando il modo in cui vengono archiviati i record. Il database ordina le righe in base alla colonna impostata come indice cluster.
Un indice non cluster non altera il modo in cui è stato archiviato ma crea un oggetto separato completo all'interno della tabella. Rimanda alle righe della tabella originale dopo la ricerca.
30. Che cos'è Datawarehouse?
Datawarehouse è un archivio centrale di dati provenienti da più fonti di informazioni. Questi dati vengono consolidati, trasformati e resi disponibili per il mining e l'elaborazione online. I dati di magazzino hanno un sottoinsieme di dati chiamato Data Mart.
31. Che cos'è l'auto-join?
L'auto-join è impostato per essere utilizzato dalla query per confrontare 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 si definisce come prodotto cartesiano dove il numero di righe nella prima tabella moltiplicato per il numero di righe nella seconda tabella. Se supponiamo che la clausola WHERE venga utilizzata nel cross join, la query funzionerà come un INNER JOIN.
33. Che 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 ogni volta che è necessario.
34. Quali sono tutti i tipi di funzioni definite dall'utente?
Sono tre i tipi di funzioni definite dall'utente.
- Funzioni scalari.
- Funzioni con valori di tabella inline.
- Funzioni con valori multi-istruzione.
Unità di rendimento scalare, variante definita come clausola di restituzione. Altri due tipi restituiscono la tabella come ritorno.
35. Che cos'è la collation?
Le regole di confronto sono definite come un insieme di regole che determinano come ordinare e confrontare i dati dei caratteri. 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 caratteri.
36. Quali sono tutti i diversi tipi di sensibilità alle regole di confronto?
Di seguito sono riportati diversi tipi di sensibilità delle regole di confronto -.
- Maiuscole / minuscole - A e a e B e b.
- Sensibilità agli accenti.
- Sensibilità Kana - Caratteri Kana giapponesi.
- Sensibilità larghezza: carattere a byte singolo e carattere a doppio byte.
37. Vantaggi e svantaggi della stored procedure?
La stored procedure può essere utilizzata come programmazione modulare: significa creare una volta, memorizzare e chiamare più volte ogni volta che è necessario. Ciò supporta un'esecuzione più rapida invece di eseguire più query. Ciò riduce il traffico di rete e fornisce una migliore protezione ai dati.
Lo svantaggio è che può essere eseguito solo nel database e utilizza più memoria nel server del database.
38. Che cos'è OLTP (Online Transaction Processing)?
Online Transaction Processing (OLTP) gestisce le applicazioni basate sulle transazioni che possono essere utilizzate per l'immissione dei dati, il recupero dei dati e l'elaborazione dei dati. OLTP rende la gestione dei dati semplice ed efficiente. A differenza dei sistemi OLAP, l'obiettivo dei sistemi OLTP è fornire transazioni in tempo reale.
Esempio: transazioni bancarie su base giornaliera.
39. Che cos'è la CLAUSOLA?
La clausola SQL è definita per limitare il set di risultati fornendo la condizione alla query. Questo di solito filtra alcune righe dall'intero set di record.
Esempio: query con condizione WHERE
Query che ha la condizione HAVING.
40. Che cos'è la stored procedure ricorsiva?
Una procedura memorizzata che chiama da sola fino a raggiungere una condizione limite. Questa funzione o procedura ricorsiva aiuta i programmatori a utilizzare lo stesso set di codice un numero qualsiasi di volte.
41. Che cosa sono i comandi Union, minus 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 di 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 oa una colonna. È possibile fare riferimento a questo nome alias nella clausola WHERE 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 studenti ed Ex si riferisce al nome alias per la tabella esami.
43. Qual è la differenza tra le istruzioni TRUNCATE e DROP?
TRUNCATE rimuove tutte le righe dalla tabella e non può essere ripristinata. Il comando DROP rimuove una tabella dal database e l'operazione non può essere annullata.
44. Cosa sono le funzioni aggregate e scalari?
Le funzioni aggregate vengono utilizzate per valutare calcoli matematici 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 -.
Aggregate - max (), count - Calcolato rispetto a 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 i record comuni da due tabelle?
Il set di risultati di 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 (Select rowno, studentId from student) dove mod (rowno, 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 -.
- %: Corrisponde a zero o più caratteri.
- _ (Trattino basso): corrisponde esattamente a un carattere.
Esempio -.
Select * from Student where studentname like 'a%'
Select * from Student where studentname like 'ami_'