90 più popolari SQL Interview Questions and Answers:
Queste sono le domande di intervista SQL più comuni e utili per matricole e candidati esperti. Nozioni di base per concetti avanzati di SQL sono trattati in questo articolo.
Fare riferimento a queste domande per una rapida revisione dei principali concetti SQL prima di apparire per un colloquio.
Le migliori domande di intervista SQL
Iniziamo.
Q #1) Che cos’è SQL?,
Risposta: Structured Query Language SQL è uno strumento di database che viene utilizzato per creare e accedere al database per supportare le applicazioni software.
Q #2) Cosa sono le tabelle in SQL?
Risposta: La tabella è una raccolta di record e le sue informazioni in una singola vista.
Q #3) Quali sono i diversi tipi di istruzioni supportate da SQL?
Risposta:
Esistono 3 tipi di istruzioni SQL:
a) DDL (Data Definition Language): Viene utilizzato per definire la struttura del database come le tabelle. Include tre istruzioni come CREATE, ALTER e DROP.,
Leggi anche =>>MySQL Create Table Tutorial
Alcuni dei comandi DDL sono elencati di seguito:
CREATE: viene utilizzato per creare la tabella.
CREATE TABLE table_namecolumn_name1 data_type(size),column_name2 data_type(size),column_name3 data_type(size),
ALTER: La tabella ALTER viene utilizzata per modificare l’oggetto tabella esistente nel database.
ALTER TABLE table_name ADD column_name datatype
O
ALTER TABLE table_nameDROP COLUMN column_name
b) DML (Data Manipulation Language): Queste istruzioni vengono utilizzate per manipolare i dati nei record. Le istruzioni DML comunemente utilizzate sono INSERT, UPDATE ed DELETE.,
L’istruzione SELECT viene utilizzata come istruzione DML parziale, utilizzata per selezionare tutti o i record rilevanti nella tabella.
c) DCL (Data Control Language): Queste istruzioni vengono utilizzate per impostare privilegi come CONCEDERE e REVOCARE l’autorizzazione di accesso al database all’utente specifico.
Q # 4) Come usiamo l’istruzione DISTINTA? Qual è il suo uso?
Risposta: L’istruzione DISTINCT viene utilizzata con l’istruzione SELECT. Se il record contiene valori duplicati, l’istruzione DISTINCT viene utilizzata per selezionare valori diversi tra i record duplicati.,
Sintassi:
SELECT DISTINCT column_name(s) FROM table_name;
Q # 5) Quali sono le diverse clausole utilizzate in SQL?
Risposta:
DOVE Clausola: Questa clausola viene utilizzata per definire la condizione, estrarre e visualizzare solo i record che soddisfano la condizione specificata.
Sintassi:
SELECT column_name(s) FROM table_name WHERE condition;
GROUP BY Clause: Viene utilizzato con l’istruzione SELECT per raggruppare il risultato della query eseguita utilizzando il valore specificato in esso. Corrisponde al valore con il nome della colonna nelle tabelle e raggruppa il risultato finale di conseguenza.,
Ulteriori letture =>MySQL Group By Tutorial
Sintassi:
SELECT column_name(s) FROM table_name GROUP BY column_name;
Clausola HAVING: Questa clausola viene utilizzata in associazione con la clausola GROUP BY. Viene applicato a ciascun gruppo di risultati o all’intero risultato come un singolo gruppo. È molto simile alla clausola WHERE, ma l’unica differenza è che non puoi usarlo senza GROUP BY clause
Sintassi:
SELECT column_name(s) FROM table_name GROUP BY column_name HAVING condition;
ORDER BY clause: Questa clausola viene utilizzata per definire l’ordine dell’output della query in ascending (ASC) o in decrescente (DESC)., Ascendente (ASC) è impostato come predefinito, ma discendente (DESC) è impostato esplicitamente.
Sintassi:
SELECT column_name(s) FROM table_name WHERE condition ORDER BY column_name ASC|DESC;
USING clause: USING clause viene utilizzato mentre si lavora con SQL JOIN. Viene utilizzato per verificare l’uguaglianza in base alle colonne quando le tabelle vengono unite. Può essere usato al posto della clausola ON in JOIN.
Sintassi:
SELECT column_name(s) FROM table_name JOIN table_name USING (column_name);
Q # 6) Perché usiamo i vincoli SQL? Quali vincoli possiamo usare durante la creazione di un database in SQL?
Risposta: i vincoli vengono utilizzati per impostare le regole per tutti i record nella tabella., Se alcuni vincoli vengono violati, può interrompere l’azione che lo ha causato.
I vincoli vengono definiti durante la creazione del database stesso con l’istruzione CREATE TABLE o anche dopo che la tabella viene creata una volta con l’istruzione ALTER TABLE.
Ci sono 5 principali vincoli sono utilizzati in SQL, come ad esempio
- NOT NULL: Che indica che la colonna deve avere qualche valore e non può essere lasciato NULL.
- UNIQUE: questo vincolo viene utilizzato per garantire che ogni riga e colonna abbia un valore univoco e che nessun valore venga ripetuto in qualsiasi altra riga o colonna.,
- CHIAVE PRIMARIA: questo vincolo viene utilizzato in associazione a vincoli NON NULL e UNIVOCI, ad esempio su una o la combinazione di più colonne, per identificare il record particolare con un’identità univoca.
- CHIAVE ESTERNA: viene utilizzato per garantire l’integrità referenziale dei dati nella tabella. Corrisponde al valore in una tabella con un altro utilizzando la CHIAVE PRIMARIA.
- CHECK: garantisce se il valore nelle colonne soddisfa la condizione specificata.
Q #7) Quali sono i diversi JOIN utilizzati in SQL?,
Risposta:
4 tipi principali di Join vengono utilizzati mentre si lavora su più tabelle nei database SQL:
INNER JOIN: è anche noto come SIMPLE JOIN che restituisce tutte le righe da ENTRAMBE le tabelle quando ha almeno una colonna corrispondente.
Sintassi:
SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON column_name1=column_name2;
Ad esempio,
In questo esempio, abbiamo un dipendente della tabella con i seguenti dati:
Il nome della seconda tabella si sta unendo.
Immettere la seguente istruzione SQL:
Verranno selezionati 4 record. I risultati sono:
Le tabelle Employee e Orders hanno un valore customer_id corrispondente.,
LEFT JOIN (LEFT OUTER JOIN): Questo join restituisce tutte le righe della tabella di SINISTRA e le sue righe corrispondenti da una tabella di DESTRA.
Sintassi:
SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON column_name1=column_name2;
Ad esempio,
In questo esempio, abbiamo un dipendente della tabella con i seguenti dati:
Il nome della seconda tabella si sta unendo.
Immettere la seguente istruzione SQL:
Verranno selezionati 4 record. Vedrai i seguenti risultati:
RIGHT JOIN (RIGHT OUTER JOIN): Questo join restituisce tutte le righe dalla tabella di DESTRA e le sue righe corrispondenti dalla tabella di SINISTRA.,
Sintassi:
SELECT column_name(s)FROM table_name1RIGHT JOIN table_name2ON column_name1=column_name2;
Ad esempio,
In questo esempio, abbiamo un dipendente della tabella con i seguenti dati:
Il nome della seconda tabella si sta unendo.,
Immettere la seguente istruzione SQL:
Uscita:
Emp_id | Joining_Date |
---|---|
E0012 | 2016/04/18 |
E0013 | 2016/04/19 |
E0014 | 2016/05/01 |
FULL JOIN (JOIN ESTERNO COMPLETO): Questo join restituisce tutti i risultati quando c’è una corrispondenza nella tabella a DESTRA o a SINISTRA della tabella.,
Sintassi:
SELECT column_name(s) FROM table_name1 FULL OUTER JOIN table_name2 ON column_name1=column_name2;
Ad esempio,
In questo esempio, abbiamo un dipendente della tabella con i seguenti dati:
Il nome della seconda tabella si sta unendo.
Immettere la seguente istruzione SQL:
Verranno selezionati 8 record. Questi sono i risultati che dovresti vedere.
Leggi anche => MySQL Join Tutorial
Q #8) Quali sono le transazioni e i loro controlli?
Risposta: una transazione può essere definita come l’attività di sequenza che viene eseguita sui database in modo logico per ottenere determinati risultati., Operazioni come la creazione, l’aggiornamento, l’eliminazione di record eseguiti nel database provengono da transazioni.
In parole semplici, possiamo dire che una transazione indica un gruppo di query SQL eseguite su record di database.
Ci sono 4 controlli di transazione come
- COMMIT: Viene utilizzato per salvare tutte le modifiche apportate attraverso la transazione.
- ROLLBACK: viene utilizzato per ripristinare la transazione. Tutte le modifiche apportate dalla transazione vengono ripristinate e il database rimane come prima.
- IMPOSTA TRANSAZIONE: imposta il nome della transazione.,
- SAVEPOINT: viene utilizzato per impostare il punto in cui la transazione deve essere ripristinata.
Q #9) Quali sono le proprietà della transazione?
Risposta: Le proprietà della transazione sono note come proprietà ACID. Questi sono:
- Atomicity: Garantisce la completezza di tutte le transazioni eseguite. Controlla se ogni transazione è stata completata con successo o meno. In caso contrario, la transazione viene interrotta al punto di errore e la transazione precedente viene ripristinata allo stato iniziale quando le modifiche vengono annullate.,
- Coerenza: assicura che tutte le modifiche apportate attraverso transazioni riuscite si riflettano correttamente sul database.
- Isolamento: assicura che tutte le transazioni siano eseguite in modo indipendente e che le modifiche apportate da una transazione non si riflettano su altre.
- Durabilità: assicura che le modifiche apportate nel database con transazioni impegnate persistano così com’è anche dopo un errore di sistema.
Q #10) Quante funzioni aggregate sono disponibili in SQL?,
Risposta: le funzioni di aggregazione SQL determinano e calcolano valori da più colonne in una tabella e restituiscono un singolo valore.
Ci sono 7 funzioni aggregate in SQL:
Q # 11) Quali sono le funzioni scalari in SQL?
Risposta: le funzioni scalari vengono utilizzate per restituire un singolo valore in base ai valori di input.
Le funzioni scalari sono le seguenti:
Q # 12) Quali sono i trigger?
Risposta: i trigger in SQL sono una sorta di stored procedure utilizzate per creare una risposta a un’azione specifica eseguita sulla tabella come INSERT, UPDATE o DELETE., È possibile richiamare i trigger esplicitamente sulla tabella nel database.
Azione ed evento sono due componenti principali dei trigger SQL. Quando vengono eseguite determinate azioni, l’evento si verifica in risposta a tale azione.
Sintassi:
Q # 13) Che cos’è la vista in SQL?
Risposta: una vista può essere definita come una tabella virtuale che contiene righe e colonne con campi da una o più tabelle.
Sintassi:
CREATE VIEW view_name ASSELECT column_name(s) FROM table_name WHERE condition
Q # 14) Come possiamo aggiornare la vista?
Risposta: SQL CREATE and REPLACE può essere utilizzato per aggiornare la vista.,
Eseguire la query seguente per aggiornare la vista creata.
Sintassi:
CREATE OR REPLACE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
Q # 15) Spiegare il funzionamento dei privilegi SQL?
Risposta: i comandi SQL GRANT e REVOKE vengono utilizzati per implementare i privilegi in ambienti utente multipli SQL. L’amministratore del database può concedere o revocare i privilegi a o dagli utenti degli oggetti del database utilizzando comandi come SELECT, INSERT, UPDATE, DELETE, ALL, ecc.
Comando GRANT: Questo comando viene utilizzato per fornire l’accesso al database a utenti diversi dall’amministratore.,
Sintassi:
GRANT privilege_name ON object_name TO {user_name|PUBLIC|role_name} ;
Nella sintassi precedente, l’opzione GRANT indica che l’utente può concedere l’accesso anche a un altro utente.
REVOKE command: Questo comando viene utilizzato per fornire database negare o rimuovere l’accesso agli oggetti del database.
Sintassi:
REVOKE privilege_name ON object_name FROM {user_name|PUBLIC|role_name};
Q # 16) Quanti tipi di privilegi sono disponibili in SQL?
Risposta: Esistono due tipi di privilegi utilizzati in SQL, ad esempio
- Privilegio di sistema: il privilegio di sistema riguarda l’oggetto di un particolare tipo e fornisce agli utenti il diritto di eseguire una o più azioni su di esso., Queste azioni includono l’esecuzione di attività amministrative, MODIFICARE QUALSIASI INDICE, MODIFICARE QUALSIASI GRUPPO DI CACHE CREARE/ALTER / DELETE TABLE, CREARE/ALTER / DELETE VIEW ecc.
- Privilegio oggetto: consente di eseguire azioni su un oggetto o oggetto di un altro utente(s) vale a dire. tabella, vista, indici ecc. Alcuni dei privilegi dell’oggetto sono EXECUTE, INSERT, UPDATE, DELETE, SELECT, FLUSH, LOAD, INDEX, REFERENCES ecc.
Q # 17) Che cos’è SQL Injection?,
Risposta: SQL Injection è un tipo di tecnica di attacco al database in cui le istruzioni SQL dannose vengono inserite in un campo di immissione del database in un modo che, una volta eseguito, il database viene esposto a un utente malintenzionato per l’attacco. Questa tecnica viene solitamente utilizzata per attaccare le applicazioni basate sui dati per avere accesso a dati sensibili ed eseguire attività amministrative sui database.
Ad esempio,
SELECT column_name(s) FROM table_name WHERE condition;
Q #18) Che cos’è SQL Sandbox in SQL Server?
Risposta: SQL Sandbox è un luogo sicuro nell’ambiente SQL Server in cui vengono eseguiti script non attendibili., Esistono 3 tipi di sandbox SQL:
- Sandbox di accesso sicuro: qui un utente può eseguire operazioni SQL come la creazione di stored procedure,trigger ecc. ma non può avere accesso alla memoria e non può creare file.
- Sandbox di accesso esterno: gli utenti possono accedere ai file senza avere il diritto di manipolare l’allocazione della memoria.
- Sandbox di accesso non sicuro: contiene codici non attendibili in cui un utente può avere accesso alla memoria.
Q # 19) Qual è la differenza tra SQL e PL / SQL?,
Risposta: SQL è un linguaggio di query strutturato per creare e accedere ai database, mentre PL / SQL viene fornito con concetti procedurali di linguaggi di programmazione.
Q # 20) Qual è la differenza tra SQL e MySQL?
Risposta: SQL è un linguaggio di query strutturato che viene utilizzato per manipolare e accedere al database relazionale. D’altra parte, MySQL stesso è un database relazionale che utilizza SQL come linguaggio di database standard.
Q # 21) Qual è l’uso della funzione NVL?
Risposta: La funzione NVL viene utilizzata per convertire il valore null nel suo valore effettivo.,
Q # 22) Qual è il prodotto cartesiano della tabella?
Risposta: L’output di Cross Join è chiamato un prodotto cartesiano. Restituisce righe combinando ogni riga della prima tabella con ogni riga della seconda tabella. Ad esempio, se uniamo due tabelle con 15 e 20 colonne, il prodotto cartesiano di due tabelle sarà 15×20=300 righe.
Q # 23) Cosa intendi per Sottoquery?
Risposta: la query all’interno di un’altra query viene chiamata come Sottoquery. Una sottoquery è chiamata query interna che restituisce l’output che deve essere utilizzato da un’altra query.,
Q # 24) Quanti operatori di confronto di righe vengono utilizzati mentre si lavora con una sottoquery?
Risposta: esistono operatori di confronto a 3 righe utilizzati in sottoquery come IN, ANY and ALL.
Q # 25) Qual è la differenza tra gli indici cluster e non cluster?
Risposta: Le differenze tra i due sono le seguenti:
- Una tabella può avere un solo indice cluster ma più indici non cluster.
- Gli indici in cluster possono essere letti rapidamente piuttosto che gli indici non in cluster.,
- Gli indici in cluster memorizzano i dati fisicamente nella tabella o nella vista, mentre gli indici non in cluster non memorizzano i dati nella tabella poiché ha una struttura separata dalla riga dei dati.
Q # 26) Qual è la differenza tra DELETE e TRUNCATE?
Risposta: Le differenze sono:
- La differenza fondamentale in entrambi è il comando DELETE è il comando DML e il comando TRUNCATE è DDL.
- Comando DELETE viene utilizzato per eliminare una riga specifica dalla tabella, mentre il comando TRUNCATE viene utilizzato per rimuovere tutte le righe dalla tabella.,
- Possiamo usare il comando DELETE con la clausola WHERE ma non possiamo usare il comando TRUNCATE con esso.
Q # 27) Qual è la differenza tra DROP e TRUNCATE?
Risposta: TRUNCATE rimuove tutte le righe dalla tabella che non possono essere recuperate, DROP rimuove l’intera tabella dal database e non può essere recuperata.
Q # 28 )Come scrivere una query per mostrare i dettagli di uno studente dalla tabella degli studenti il cui nome inizia con K?
Risposta: Query:
SELECT * FROM Student WHERE Student_Name like ‘K%’;
Qui l’operatore ‘like’ viene utilizzato per eseguire la corrispondenza dei pattern.,
Q # 29) Qual è la differenza tra Subquery nidificata e Subquery correlata?
Risposta: la sottoquery all’interno di un’altra sottoquery è chiamata Sottoquery nidificata. Se l’output di una sottoquery dipende dai valori di colonna della tabella di query padre, la query viene chiamata Sottoquery correlata.
SELECT adminid(SELEC Firstname+' '+Lastname FROM Employee WHERE empid=emp. adminid)AS EmpAdminId FROM Employee;
Il risultato della query sono i dettagli di un dipendente dalla tabella Employee.
Q # 30) Che cos’è la normalizzazione? Quante forme di normalizzazione ci sono?,
Risposta: La normalizzazione viene utilizzata per organizzare i dati in modo tale che la ridondanza dei dati non si verifichi mai nel database ed evitare di inserire, aggiornare ed eliminare anomalie.
Esistono 5 forme di normalizzazione:
- Prima forma normale (1NF): rimuove tutte le colonne duplicate dalla tabella. Crea una tabella per i dati correlati e identifica i valori di colonna univoci.
- Primo modulo normale (2NF): segue 1NF e crea e inserisce sottoinsiemi di dati in una singola tabella e definisce la relazione tra le tabelle utilizzando la chiave primaria.,
- Terza forma normale (3NF): segue 2NF e rimuove quelle colonne che non sono correlate attraverso la chiave primaria.
- Quarta forma normale (4NF): segue 3NF e non definisce dipendenze multivalore. 4NF è anche conosciuto come BCNF.
Q # 31) Che cos’è una relazione? Quanti tipi di relazioni ci sono?
Risposta: La relazione può essere definita come la connessione tra più di una tabella nel database.,
Esistono 4 tipi di relazioni:
- Relazione uno a uno
- Relazione molti a uno
- Relazione molti a molti
- Relazione uno a molti
Q #32) Cosa si intende per Stored Procedure? Come lo usiamo?
Risposta: Una stored procedure è una raccolta di istruzioni SQL che possono essere utilizzate come funzione per accedere al database. Possiamo creare queste stored procedure prima di usarle e possiamo eseguirle ovunque sia richiesto applicando una logica condizionale ad esso., Le stored procedure vengono utilizzate anche per ridurre il traffico di rete e migliorare le prestazioni.
Sintassi:
CREATE Procedure Procedure_Name ( //Parameters ) AS BEGIN SQL statements in stored procedures to update/retrieve records END
Q # 33) Indicare alcune proprietà dei database relazionali?
Risposta: Le proprietà sono le seguenti:
- Nei database relazionali, ogni colonna deve avere un nome univoco.
- La sequenza di righe e colonne nei database relazionali è insignificante.
- Tutti i valori sono atomici e ogni riga è unica.
Q # 34) Cosa sono i trigger nidificati?,
Risposta: i trigger possono implementare la logica di modifica dei dati utilizzando le istruzioni INSERT, UPDATE e DELETE. Questi trigger che contengono la logica di modifica dei dati e trovano altri trigger per la modifica dei dati sono chiamati Trigger nidificati.
Q # 35) Che cos’è un cursore?
Risposta: un cursore è un oggetto di database che viene utilizzato per manipolare i dati in modo riga per riga.,
Il cursore segue i passaggi indicati di seguito:
- Dichiarare il cursore
- Aprire il cursore
- Recuperare la riga dal cursore
- Elaborare la riga
- Chiudere il cursore
- Deallocare il cursore
Q #36) Che cos’è la collazione?
Risposta: Collation è un insieme di regole che controllano come i dati vengono ordinati confrontandoli. Ad esempio, i dati dei caratteri vengono memorizzati utilizzando la sequenza di caratteri corretta insieme a maiuscole e minuscole, tipo e accento.
Q #37) Di cosa abbiamo bisogno per controllare il test del database?,
Risposta: Nel test del database, è necessario testare la seguente cosa:
- Connettività del database
- Controllo dei vincoli
- Campo di applicazione richiesto e sue dimensioni
- Recupero ed elaborazione dei dati con operazioni DML
- Stored Procedure
- Flusso funzionale
Q # 38) Cos’è il test della scatola bianca del database?,
Risposta: Il test della scatola bianca del database comporta:
- Consistenza del database e proprietà ACID
- Trigger del database e viste logiche
- Copertura decisionale, copertura delle condizioni e copertura delle dichiarazioni
- Tabelle del database, modello di dati e schema del database
- Regole di integrità referenziale
Q # 39) Che cos’è,
Risposta: Il test della scatola nera del database comporta:
- Mappatura dei dati
- Dati memorizzati e recuperati
- Uso di tecniche di test della scatola nera come il partizionamento di equivalenza e l’analisi del valore limite (BVA)
Q #40) Cosa sono gli indici in SQL?
Risposta: L’indice può essere definito come il modo per recuperare i dati più rapidamente. Possiamo definire gli indici usando CREATE statements.,
Sintassi:
CREATE INDEX index_name ON table_name (column_name)
Inoltre, possiamo anche creare un indice univoco utilizzando la seguente sintassi:
CREATE UNIQUE INDEX index_name ON table_name (column_name)
AGGIORNAMENTO: Abbiamo aggiunto alcune domande più brevi per la pratica.
Q # 41) Cosa significa SQL?
Risposta: SQL sta per Structured Query Language.
Q # 42) Come selezionare tutti i record dalla tabella?
Risposta: Per selezionare tutti i record dalla tabella dobbiamo usare la seguente sintassi:
Select * from table_name;
Q # 43) Definire join e denominare diversi tipi di join?,
Risposta: la parola chiave Join viene utilizzata per recuperare i dati da due o più tabelle correlate. Restituisce righe in cui c’è almeno una corrispondenza in entrambe le tabelle incluse nel join. Per saperne di più qui.
I tipi di join sono:
- Right join
- Outer join
- Full join
- Cross join
- Self join.
Q # 44) Qual è la sintassi per aggiungere un record a una tabella?
Risposta: Per aggiungere un record in una tabella viene utilizzata la sintassi INSERT.
Ad esempio,
INSERT into table_name VALUES (value1, value2..);
Q # 45) Come si aggiunge una colonna a una tabella?,
Risposta: Per aggiungere un’altra colonna della tabella, utilizzare il seguente comando:
ALTER TABLE table_name ADD (column_name);
consigli di lettura =>> Come aggiungere una colonna a una tabella in MySQL
Q #46) Definire l’istruzione SQL DELETE.
Risposta: DELETE viene utilizzato per eliminare una o più righe da una tabella in base alla condizione specificata.
La sintassi di base è la seguente:
DELETE FROM table_nameWHERE <Condition>
Q #47) Define COMMIT?
Risposta: COMMIT salva tutte le modifiche apportate dalle istruzioni DML.
Q # 48) Qual è la chiave primaria?,
Risposta: una chiave primaria è una colonna i cui valori identificano in modo univoco ogni riga di una tabella. I valori della chiave primaria non possono mai essere riutilizzati.
Q # 49) Quali sono le chiavi esterne?
Risposta: Quando il campo della chiave primaria di una tabella viene aggiunto alle tabelle correlate per creare il campo comune che mette in relazione le due tabelle, viene chiamata una chiave esterna in altre tabelle. I vincoli delle chiavi esterne impongono l’integrità referenziale.
Q # 50) Che cos’è il vincolo di CONTROLLO?
Risposta: un vincolo di CONTROLLO viene utilizzato per limitare i valori o il tipo di dati che possono essere memorizzati in una colonna., Vengono utilizzati per far rispettare l’integrità del dominio.
Q # 51) È possibile che una tabella abbia più di una chiave esterna?
Risposta: Sì, una tabella può avere molte chiavi esterne ma solo una chiave primaria.
Q # 52) Quali sono i valori possibili per il campo dati BOOLEANI?
Risposta: Per un campo di dati BOOLEANI, sono possibili due valori: -1(true) e 0 (false).
Q # 53) Che cos’è una stored procedure?
Risposta: Una stored procedure è un insieme di query SQL che possono prendere input e inviare di nuovo l’output.
Q # 54) Che cos’è l’identità in SQL?,
Risposta: una colonna di identità in cui SQL genera automaticamente valori numerici. Possiamo definire un valore iniziale e incrementale della colonna identity.
Q # 55) Che cos’è la normalizzazione?
Risposta: Il processo di progettazione di tabelle per ridurre al minimo la ridondanza dei dati è chiamato normalizzazione. Dobbiamo dividere un database in due o più tabelle e definire la relazione tra loro.
Q # 56) Che cos’è un trigger?
Risposta: Il Trigger ci consente di eseguire un batch di codice SQL quando si verifica un evento di tabella (i comandi INSERT, UPDATE o DELETE vengono eseguiti su una tabella specifica).,
Q # 57) Come selezionare righe casuali da una tabella?
Risposta: Usando una clausola di ESEMPIO possiamo selezionare righe casuali.
Ad esempio,
SELECT * FROM table_name SAMPLE(10);
Q # 58) Quale porta TCP/IP esegue SQL Server?
Risposta: Per impostazione predefinita SQL Server viene eseguito sulla porta 1433.
Q # 59) Scrivi una query SQL SELECT che restituisce ogni nome solo una volta da una tabella?
Risposta: Per ottenere il risultato come ogni nome solo una volta, dobbiamo usare la parola chiave DISTINCT.
SELECT DISTINCT name FROM table_name;
Q #60) Spiegare DML e DDL?
Risposta: DML sta per Data Manipulation Language., INSERT, UPDATE e DELETE sono istruzioni DML.
DDL sta per Data Definition Language. CREARE, MODIFICARE, RILASCIARE, RINOMINARE sono dichiarazioni DDL.
Q #61) Possiamo rinominare una colonna nell’output della query SQL?
Risposta: Sì, usando la seguente sintassi possiamo farlo.
SELECT column_name AS new_name FROM table_name;
Q #62) Dare l’ordine di SQL SELECT?
Risposta: Ordine delle clausole di selezione SQL è: SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY. Solo le clausole SELECT e FROM sono obbligatorie.
Q # 63) Supponiamo che una colonna Studente abbia due colonne, Nome e segni., Come ottenere nomi e marchi dei primi tre studenti.
Risposta: SELEZIONA Nome, contrassegni DA Studente s1 dove 3< = (SELEZIONA COUNT(*) DA Studenti s2 DOVE s1.segni = s2.marks)
Q # 64) Che cosa sono i commenti SQL?
Risposta: i commenti SQL possono essere inseriti aggiungendo due trattini consecutivi ( -).
Q # 65) Differenza tra i comandi TRUNCATE, DELETE e DROP?
Risposta:
- DELETE rimuove alcune o tutte le righe da una tabella in base alla condizione. Può essere arrotolato.
- TRUNCATE rimuove TUTTE le righe da una tabella disallocando le pagine di memoria., L’operazione non può essere ripristinata
- Il comando DROP rimuove completamente una tabella dal database.
Q #66) Quali sono le proprietà di una transazione?
Risposta: Generalmente, queste proprietà sono indicate come proprietà ACID. Sono:
- Atomicità
- Consistenza
- Isolamento
- Durata.
Q #67) Cosa intendi per ROWID?
Risposta: è una pseudo colonna lunga 18 caratteri collegata a ogni riga di una tabella.
Q # 68) Definire UNIONE, MENO, UNIONE TUTTO, INTERSECARE?,
Risposta:
- MINUS – restituisce tutte le righe distinte selezionate dalla prima query ma non dalla seconda.
- UNION-restituisce tutte le righe distinte selezionate da una query
- UNION ALL-restituisce tutte le righe selezionate da una query, inclusi tutti i duplicati.
- INTERSECT-restituisce tutte le righe distinte selezionate da entrambe le query.
Q # 69) Che cos’è una transazione?
Risposta: una transazione è una sequenza di codice che viene eseguito su un database. Prende il database da uno stato coerente a un altro.,
Q # 70) Qual è la differenza tra vincoli CHIAVE UNIVOCI e PRIMARI?
Risposta: Le differenze sono le seguenti:
- Una tabella può avere solo una CHIAVE PRIMARIA mentre può esserci un numero qualsiasi di chiavi UNIVOCHE.
- La chiave primaria non può contenere valori Null mentre la chiave univoca può contenere valori Null.
Q #71) Che cos’è una chiave primaria composita?
Risposta: La chiave primaria creata su più colonne è chiamata chiave primaria composita.
Q # 72) Che cos’è un indice?,
Risposta: Un indice è una struttura speciale associata a una tabella per accelerare le prestazioni delle query. L’indice può essere creato su una o più colonne di una tabella.
Q # 73) Qual è la sottoquery?
Risposta: una Subquery è un sottoinsieme di istruzioni select i cui valori restituiti vengono utilizzati nelle condizioni di filtraggio della query principale.
Q # 74) Cosa intendi per ottimizzazione delle query?
Risposta: l’ottimizzazione delle query è un processo in cui un sistema di database confronta diverse strategie di query e seleziona la query con il minor costo.
Q # 75) Che cosa è regole di confronto?,
Risposta: insieme di regole che definiscono come vengono memorizzati i dati, come la sensibilità delle maiuscole e il carattere Kana possono essere trattati ecc.
Q # 76) Che cos’è l’integrità referenziale?
Risposta: Set di regole che limitano i valori di una o più colonne delle tabelle in base ai valori della chiave primaria o della chiave univoca della tabella di riferimento.
Q # 77) Qual è la funzione Case?
Risposta: Case facilita il tipo di logica if-then-else in SQL. Valuta un elenco di condizioni e restituisce una delle molteplici espressioni di risultato possibili.
Q # 78) Definire una tabella temporanea?,
Risposta: una tabella temporanea è una struttura di archiviazione temporanea per memorizzare temporaneamente i dati.
Q # 79) Come possiamo evitare di duplicare i record in una query?
Risposta: utilizzando la parola chiave DISTINCT, è possibile evitare la duplicazione di record in una query.
Q # 80) Spiega la differenza tra Rinomina e Alias?
Risposta: Rename è un nome permanente dato a una tabella o colonna mentre Alias è un nome temporaneo dato a una tabella o colonna.
Q # 81) Che cos’è una vista?
Risposta: una vista è una tabella virtuale che contiene dati da una o più tabelle., Le viste limitano l’accesso ai dati della tabella selezionando solo i valori richiesti e semplificano le query complesse.
Q # 82) Quali sono i vantaggi delle viste?
Risposta: I vantaggi delle viste sono:
- Le viste limitano l’accesso ai dati perché la vista può visualizzare colonne selettive dalla tabella.
- Le viste possono essere utilizzate per effettuare query semplici per recuperare i risultati di query complicate. Ad esempio, le viste possono essere utilizzate per interrogare informazioni da più tabelle senza che l’utente lo sappia.
Q # 83) Elenca i vari privilegi che un utente può concedere a un altro utente?,
Risposta: SELEZIONA, CONNETTI, RISORSE.
Q # 84) Che cos’è lo schema?
Risposta: Uno schema è una raccolta di oggetti di database di un utente.
Q # 85) Che cos’è una tabella?
Risposta: una tabella è l’unità di base della memorizzazione dei dati nel sistema di gestione del database. I dati della tabella vengono memorizzati in righe e colonne.
Q # 86) La vista contiene dati?
Risposta: No, le viste sono strutture virtuali.
Q # 87 )Può una vista basata su un’altra vista?
Risposta: Sì, una vista è basata su un’altra vista.
Q # 88) Qual è la differenza tra la clausola HAVING e la clausola WHERE?,
Risposta: entrambi specificano una condizione di ricerca ma la clausola Having viene utilizzata solo con l’istruzione SELECT e in genere utilizzata con la clausola GROUP BY.
Se la clausola GROUP BY non viene utilizzata, allora si è comportata come solo la clausola WHERE.
Q # 89) Qual è la differenza tra le tabelle temporanee locali e globali?
Risposta: se definita all’interno di un’istruzione composta, una tabella temporanea locale esiste solo per la durata di tale istruzione, ma una tabella temporanea globale esiste permanentemente nel DB ma le sue righe scompaiono quando la connessione viene chiusa.
Q # 90) Che cosa è CTE?,
Risposta: un’espressione CTE o common table è un’espressione che contiene un set di risultati temporanei definito in un’istruzione SQL.
Conclusione
SQL è un componente essenziale del sistema di database. Avere una conoscenza approfondita del database insieme a concetti SQL sarà sicuramente utile per rompere l’intervista per il profilo interessato.
A parte alcuni concetti importanti, ci sono alcuni fatti nascosti che rimangono invisibili e influenzano le tue prestazioni nell’intervista., In questo tutorial, ho cercato di ricordare alcuni di quei concetti che sembrano piccoli ma non dovrebbero essere trascurati.
Speranza in questo articolo, troverete le risposte alle domande più frequenti intervista SQL. La conoscenza di SQL è un must per qualsiasi tester e questo articolo vi aiuterà a preparare l’intervista.
Ulteriori letture = > Tutto sul test del database