Domande e risposte principali per le interviste su SQL Server [Per i neofiti 2022]
Pubblicato: 2021-01-04Diamo un'occhiata ad alcune delle domande frequenti in un'intervista basata su SQL Server. Includeremo anche esempi di query SQL insieme alle domande e risposte dell'intervista SQL ove necessario.
Domande e risposte sull'intervista a SQL Server
Domanda 1: cos'è SQL?
SQL o Structured Query Language è il linguaggio di programmazione standard utilizzato per gestire e organizzare i sistemi di gestione di database relazionali (RDBMS). Viene utilizzato per archiviare, manipolare e ottenere l'accesso ai dati archiviati, in altre parole, per comunicare con database relazionali. Gli RDBMS più diffusi utilizzano SQL e questo include SQL Server, MySQL e Oracle.
Qualsiasi unità di esecuzione o istruzione in SQL è nota come query. Una query SQL può essere utilizzata per creare, selezionare o modificare i dati.
Nei sistemi di gestione di database relazionali, un file organizzato di dati viene archiviato sotto forma di tabelle. Ogni tabella è composta da colonne e righe.
Domanda 2: qual è la query SQL per creare un database in SQL Server?

Un database in SQL è una raccolta organizzata di dati che può consistere in tabelle, funzioni di codice, schemi, ecc. Un programmatore può creare questo database o manipolarlo utilizzando vari linguaggi di query.
Per creare un nuovo database nel server SQL, viene utilizzato il seguente comando SQL:
CREATE DATABASE Nome database
Leggi: Domande sull'intervista a stack completo
Domanda 3: come viene creata una tabella in SQL?
Una tabella è un oggetto in SQL che consente agli utenti di archiviare e recuperare dati. Questi dati sono archiviati in una tabella e ogni tabella è composta da colonne e righe.
Per creare una nuova tabella nel server SQL, viene utilizzato il seguente comando SQL:
Crea tabella NomeTabella (tipo di dati ColumnName1, columnName2 tipo di dati)
Domanda 4: Che cos'è un Profiler SQL?
SQL Profiler è un mezzo per un amministratore di sistema per tenere traccia degli eventi nel server SQL. Viene utilizzato principalmente per l'analisi dei file di dati acquisiti e salvati di un evento.
Domanda 5: spiegare con un esempio cos'è una stored procedure ricorsiva.
Non è necessario chiamare le stored procedure ricorsive in SQL Server. Chiama da solo fino al raggiungimento di una condizione al contorno. Con le stored procedure è possibile un livello di annidamento massimo di 32. Questo è noto come ricorsione.
Utilizzando la stored procedure ricorsiva, un programmatore può utilizzare lo stesso batch di codice per n volte.
Per citare un esempio, se è necessario espandere una relazione ad albero o calcolare l'algoritmo fattoriale, è possibile utilizzare la reversione nelle stored procedure. Ecco un esempio su come calcolare il fattoriale di un numero.
CREA PROCEDURA [dbo].[Factorial_ap]
(
@Numero intero,
@RetVal OUTPUT intero
)
COME
DICHIARA @In intero
DICHIARA @Out Intero
SE @Numero != 1
INIZIO
SELEZIONA @In = @Numero – 1
EXEC Factorial_ap @In, @Out OUTPUT
SELECT @RetVal = @Numero * @Out
FINE
ALTRO
INIZIO
SELEZIONA @RetVal = 1
FINE
RESTITUZIONE
ANDARE
Domanda 6: Cosa Elenca le differenze tra le tabelle temporanee locali e globali.
La visibilità delle tabelle temporanee locali dura finché c'è una connessione. Una volta chiusa la connessione, il server elimina automaticamente queste tabelle.
Le tabelle temporanee locali sono indicate da # prima del nome della tabella.
La sintassi per creare una tabella temporanea locale è:
CREA TABELLA #<nometabella>
(
tipo di dati colonna1 [ NULL | NON NULLO ],
tipo di dati colonna2 [ NULL | NON NULLO ],
…
);
Le tabelle temporanee globali sono accessibili e visibili a tutti gli utenti. SQL Server li elimina al termine della sessione di SQL Server. Ciò si verifica quando ogni tabella di riferimento utente si è disconnessa dalla sessione.
Le tabelle temporanee locali sono indicate utilizzando ## prima del nome della tabella
La sintassi per creare una tabella temporanea globale è
CREA TABELLA ##<nometabella>
(
tipo di dati colonna1 [ NULL | NON NULLO ],
tipo di dati colonna2 [ NULL | NON NULLO ],
…
);
Domanda 7: spiegare la corrispondenza dei modelli in SQL?
Pattern Matching in SQL consente ai programmatori di utilizzare il segno di sottolineatura (_) allo scopo di trovare la corrispondenza di un singolo carattere. Consente inoltre di utilizzare il segno di percentuale (%) per la corrispondenza di un numero arbitrario di caratteri. Questo include anche qualsiasi zero caratteri. Va notato che i modelli SQL non fanno distinzione tra maiuscole e minuscole in MySQL.

Domanda 8: Che cos'è un trigger? Quanti tipi di trigger esistono?
I trigger sono un tipo speciale di stored procedure utilizzata per controllare un batch di codice SQL. Vengono eseguiti o "attivati" automaticamente quando i dati di una tabella vengono modificati.
Ci sono due tipi di Trigger. Loro sono:
- Linguaggio di manipolazione dei dati (DML) e
- Linguaggio di definizione dei dati (DDL)
Quando una di queste query viene utilizzata per modificare i dati, viene attivata una serie di comandi. Con gli eventi di comando DML, vengono attivati Inserisci, Elimina, Aggiorna e Invece di. Con DDL vengono attivati i trigger Crea, Modifica e Rilascia.
Leggi anche: Domande e risposte sull'intervista PHP
Domanda 9: Definire COALESCE?
La prima espressione non nulla all'interno degli argomenti di una funzione viene restituita utilizzando COALESCE. Può leggere una o più colonne nei suoi argomenti per verificare la presenza di un'espressione non nulla.
La sintassi è –
Selezionare COALESCE (emp_num, emp_name, stipendio) da dipendente;
Domanda 10. Cos'è il CDC?
Una funzionalità di SQL Server 2008, CDC o Change Data Capture può essere utilizzata per acquisire i dati che sono stati modificati di recente.
Domanda 11: Quali sono le query utilizzate per ottenere il conteggio del numero di record in una tabella SQL?
Possiamo ottenere il conteggio dei record in una tabella utilizzando le seguenti query:
Seleziona * da <tablename>
Seleziona conteggio(*) da <tablename>
Seleziona le righe da sysindexes dove id=OB
JECT_ID(nometabella) e indid<2
Domanda 12: indica la differenza tra le funzioni SUBSTR e CHARINDEX in SQL Server?
La funzione SUBSTR restituisce la parte specificata di una stringa come indicato dal programmatore. La funzione CHARINDEX, invece, viene utilizzata per restituire la posizione di un carattere specificato in una determinata stringa.
Per esempio:
SUBSTRING('Mela',1,4)
– L'output sarà Appl
CHARINDEX('l', 'Mela',1)
– L'output sarà 4 poiché il carattere l si trova nella 4a posizione nella stringa specificata
Domanda 13: Che cos'è SQL injection?
SQL Injection è una delle vulnerabilità del database in cui un server SQL viene attaccato dagli utenti utilizzando un codice dannoso che viene inserito all'interno delle stringhe di un codice. L'intento è inviare il codice dannoso per l'analisi e l'esecuzione. Anche i parametri sono a rischio di attacco, quindi tutte le affermazioni devono essere riviste per rilevare eventuali vulnerabilità.
Domanda 14: Quali sono i metodi che possono essere utilizzati per evitare un attacco SQL injection?
I seguenti quattro metodi possono essere utilizzati per proteggere un server SQL da un attacco SQL injection:
– Poiché i parametri presentano un rischio inferiore di un attacco SQL injection, si consiglia di utilizzarli per le stored procedure.
– È una buona misura filtrare i parametri di input.
– È possibile utilizzare la raccolta di parametri con Dynamic SQL.
– Usa i caratteri di escape nelle clausole Like.
Domanda 15: indicare le due modalità di autenticazione in SQL Server. Come possono essere cambiati?
Le due modalità di autenticazione in SQL Server sono:
– Modalità Windows
- Modalita `mista
Nelle impostazioni di configurazione di SQL Server, nella pagina Protezione, è presente un menu degli strumenti per modificare le modalità.

Domanda 16: Quali sono i diversi tipi di comandi in un database SQL?
Risposta: Esistono quattro tipi di comandi in SQL Server. Sono classificati come:
- Linguaggio di definizione dei dati (DDL)
- Linguaggio di controllo dei dati Linguaggio di controllo delle transazioni (TCL)Linguaggio di controllo delle transazioni (TCL)
- Linguaggio di manipolazione dei dati (DML)
- Linguaggio di controllo delle transazioni (TCL)
Ottieni il corso di sviluppo software dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.
Conclusione
Ci auguriamo che la nostra guida Domande e risposte su SQL Server sia utile. Aggiorneremo regolarmente la guida per tenerti aggiornato.
Se sei interessato a saperne di più su SQL, lo sviluppo full stack, dai un'occhiata al programma Executive PG di upGrad e IIIT-B in Full-stack Software Development, progettato per i professionisti che lavorano e offre oltre 500 ore di formazione rigorosa, oltre 9 progetti, e incarichi, status di Alumni IIIT-B, progetti pratici pratici e assistenza sul lavoro con le migliori aziende.
