top 90 sql interview questions
Le 90 domande e risposte dell'intervista SQL più popolari:
Queste sono le domande di intervista SQL più comuni e utili per le matricole e per i candidati esperti. Le nozioni di base sui 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 per l'intervista SQL
Iniziamo.
D # 1) Cos'è SQL?
Risposta: Structured Query Language SQL è uno strumento di database utilizzato per creare e accedere al database per supportare le applicazioni software.
D # 2) Cosa sono le tabelle in SQL?
Risposta: La tabella è una raccolta di record e le relative informazioni in un'unica visualizzazione.
D # 3) Quali sono i diversi tipi di istruzioni supportati 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 = >> Tutorial sulla creazione di tabelle in MySQL
Alcuni dei comandi DDL sono elencati di seguito:
CREARE : Viene utilizzato per creare la tabella.
CREATE TABLE table_name column_name1 data_type(size), column_name2 data_type(size), column_name3 data_type(size),
ETÀ: 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_name DROP 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 e DELETE.
L'istruzione SELECT viene utilizzata come un'istruzione DML parziale, utilizzata per selezionare tutti i record o i record rilevanti nella tabella.
c) DCL (Data Control Language): Queste istruzioni vengono utilizzate per impostare privilegi come GRANT e REVOKE autorizzazioni di accesso al database per l'utente specifico .
D # 4) Come si usa l'istruzione DISTINCT? A cosa serve?
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;
D # 5) Quali sono le diverse clausole utilizzate in SQL?
Risposta:
Dove la clausola: Questa clausola viene utilizzata per definire la condizione, estrarre e visualizzare solo i record che soddisfano la condizione data.
Sintassi:
SELECT column_name(s) FROM table_name WHERE condition;
Clausola GROUP BY: Viene utilizzato con l'istruzione SELECT per raggruppare il risultato della query eseguita utilizzando il valore specificato in essa. Corrisponde al valore con il nome della colonna nelle tabelle e raggruppa il risultato finale di conseguenza.
Ulteriore lettura => 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 è possibile utilizzarla senza la clausola GROUP BY
Sintassi:
SELECT column_name(s) FROM table_name GROUP BY column_name HAVING condition;
Clausola ORDER BY: Questa clausola viene utilizzata per definire l'ordine dell'output della query in ordine crescente (ASC) o discendente (DESC). Ascending (ASC) è impostato come predefinito ma decrescente (DESC) è impostato esplicitamente.
Sintassi:
SELECT column_name(s) FROM table_name WHERE condition ORDER BY column_name ASC|DESC;
Clausola USING: La clausola USING viene utilizzata mentre si lavora con SQL JOIN. Viene utilizzato per verificare l'uguaglianza in base alle colonne quando le tabelle vengono unite. Può essere utilizzato al posto della clausola ON in JOIN.
Sintassi:
SELECT column_name(s) FROM table_name JOIN table_name USING (column_name);
D # 6) Perché usiamo vincoli SQL? Quali vincoli possiamo utilizzare durante la creazione di un database in SQL?
Risposta: I vincoli vengono utilizzati per impostare le regole per tutti i record nella tabella. Se qualsiasi vincolo viene violato, 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 è stata creata una volta con l'istruzione ALTER TABLE.
Esistono 5 principali vincoli utilizzati in SQL, ad esempio
- NON NULLO: Ciò indica che la colonna deve avere un valore e non può essere lasciata NULL.
- UNICO: 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 con i vincoli NOT NULL e UNIQUE come su una o la combinazione di più di una colonna per identificare il record particolare con un'identità univoca.
- CHIAVE ESTERA: Viene utilizzato per garantire l'integrità referenziale dei dati nella tabella. Fa corrispondere il valore in una tabella con un altro utilizzando la CHIAVE PRIMARIA.
- DAI UN'OCCHIATA: Assicura se il valore nelle colonne soddisfa la condizione specificata.
D # 7) Quali sono i diversi JOIN utilizzati in SQL?
Risposta:
4 principali tipi 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 di 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;
Per esempio,
In questo esempio, abbiamo una tabella Dipendente con i seguenti dati:
Il nome della seconda tabella è Partecipare.
Immettere la seguente istruzione SQL:
SELECT Employee.Emp_id, Joining.Joining_Date FROM Employee INNER JOIN Joining ON Employee.Emp_id = Joining.Emp_id ORDER BY Employee.Emp_id;
Saranno selezionati 4 record. I risultati sono:
Dipendente e Ordini le tabelle hanno una corrispondenza identificativo del cliente valore.
LEFT JOIN (LEFT OUTER JOIN): Questo join restituisce tutte le righe dalla tabella LEFT e le righe corrispondenti da una tabella RIGHT .
Sintassi:
SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON column_name1=column_name2;
Per esempio,
In questo esempio, abbiamo una tabella Dipendente con i seguenti dati:
Il nome della seconda tabella è Partecipare.
Immettere la seguente istruzione SQL:
SELECT Employee.Emp_id, Joining.Joining_Date FROM Employee LEFT OUTER JOIN Joining ON Employee.Emp_id = Joining.Emp_id ORDER BY Employee.Emp_id;
Saranno selezionati 4 record. Vedrai i seguenti risultati:
RIGHT JOIN (RIGHT OUTER JOIN): Questo join restituisce tutte le righe dalla tabella RIGHT e le righe corrispondenti dalla tabella LEFT .
Sintassi:
SELECT column_name(s) FROM table_name1 RIGHT JOIN table_name2 ON column_name1=column_name2;
Per esempio,
In questo esempio, abbiamo una tabella Dipendente con i seguenti dati:
Il nome della seconda tabella è Partecipare.
Immettere la seguente istruzione SQL:
SELECT Employee.Emp_id, Joining.Joining_Date FROM Employee RIGHT JOIN Joining ON Employee.Emp_id = Joining.Emp_id ORDER BY Employee.Emp_id;
Produzione:
Emp_id | Joining_Date |
---|---|
E0012 | 18/04/2016 |
E0013 | 2016/04/19 |
E0014 | 01/05/2016 |
FULL JOIN (FULL OUTER JOIN): Questo join restituisce tutti i risultati quando c'è una corrispondenza nella tabella DESTRA o nella tabella SINISTRA .
Sintassi:
SELECT column_name(s) FROM table_name1 FULL OUTER JOIN table_name2 ON column_name1=column_name2;
Per esempio,
In questo esempio, abbiamo una tabella Dipendente con i seguenti dati:
miglior convertitore gratuito da mov a mp4
Il nome della seconda tabella è Partecipare.
Immettere la seguente istruzione SQL:
SELECT Employee.Emp_id, Joining.Joining_Date FROM Employee FULL OUTER JOIN Joining ON Employee.Emp_id = Joining.Emp_id ORDER BY Employee.Emp_id;
Saranno selezionati 8 record. Questi sono i risultati che dovresti vedere.
PER lso Leggi => Tutorial di partecipazione a MySQL
D # 8) Cosa sono le transazioni e i relativi controlli?
Risposta: Una transazione può essere definita come l'attività di sequenza eseguita sui database in modo logico per ottenere determinati risultati. Operazioni come la creazione, l'aggiornamento, l'eliminazione di record eseguite nel database provengono da transazioni.
In parole semplici, possiamo dire che una transazione indica un gruppo di query SQL eseguite sui record del database.
Ci sono 4 controlli di transazione come
- COMMETTERE : Viene utilizzato per salvare tutte le modifiche apportate durante la transazione.
- ROLLBACK : Viene utilizzato per ripristinare la transazione. Tutte le modifiche apportate dalla transazione vengono ripristinate e il database rimane come prima.
- IMPOSTA LA TRANSAZIONE : Imposta il nome della transazione.
- SAVEPOINT: Viene utilizzato per impostare il punto in cui eseguire il rollback della transazione.
Q # 9) Quali sono le proprietà della transazione?
Risposta: Le proprietà della transazione sono note come proprietà ACID. Questi sono:
- Atomicita : 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 riportata allo stato iniziale quando le modifiche vengono annullate.
- Consistenza : Garantisce che tutte le modifiche apportate tramite transazioni riuscite si riflettano correttamente sul database.
- Solitudine : Garantisce che tutte le transazioni vengano eseguite in modo indipendente e che le modifiche apportate da una transazione non si riflettano sulle altre.
- Durevolezza : Assicura che le modifiche apportate al database con le transazioni salvate persistano così come sono anche dopo un errore di sistema.
D # 10) Quante funzioni di aggregazione sono disponibili in SQL?
Risposta: Le funzioni SQL Aggregate determinano e calcolano i valori da più colonne in una tabella e restituiscono un singolo valore.
Esistono 7 funzioni aggregate in SQL:
- AVG (): Restituisce il valore medio dalle colonne specificate.
- CONTARE(): Restituisce il numero di righe della tabella.
- MAX (): Restituisce il valore più grande tra i record.
- MIN (): Restituisce il valore più piccolo tra i record.
- SOMMA(): Restituisce la somma dei valori di colonna specificati.
- PRIMO(): Restituisce il primo valore.
- SCORSO(): Restituisce l'ultimo valore.
D # 11) Cosa 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:
- UCASE (): Converte il campo specificato in maiuscolo.
- LCASE (): Converte il campo specificato in minuscolo.
- MID (): Estrae e restituisce il carattere dal campo di testo.
- FORMATO(): Specifica il formato di visualizzazione.
- LEN (): Specifica la lunghezza del campo di testo.
- IL GIRO(): Arrotonda per eccesso il valore del campo decimale a un numero.
D # 12) Cosa 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 in modo esplicito sulla tabella del 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:
CREATE TRIGGER name BEFORE (event (OR..)} ON table_name (FOR (EACH) ROW) EXECUTE PROCEDURE functionname {arguments}
D # 13) Che cos'è la visualizzazione in SQL?
Risposta: Una vista può essere definita come una tabella virtuale che contiene righe e colonne con campi da una o più tabelle.
S yntax:
CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
Q # 14) Come possiamo aggiornare la vista?
Risposta: SQL CREATE e REPLACE possono essere utilizzati per aggiornare la vista.
Esegui 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
D # 15) Spiega il funzionamento dei privilegi SQL?
Risposta: I comandi SQL GRANT e REVOKE vengono utilizzati per implementare i privilegi in ambienti SQL con più utenti. L'amministratore del database può concedere o revocare privilegi ao dagli utenti degli oggetti del database utilizzando comandi come SELEZIONA, INSERISCI, AGGIORNA, ELIMINA, TUTTO, 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 PUBLIC (WITH GRANT OPTION);
Nella sintassi precedente, l'opzione GRANT indica che l'utente può concedere l'accesso anche a un altro utente.
Comando REVOKE : Questo comando viene utilizzato per consentire al database di negare o rimuovere l'accesso agli oggetti del database.
Sintassi:
REVOKE privilege_name ON object_name FROM PUBLIC;
D # 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, ALTER ANY INDEX, ALTER ANY CACHE GROUP CREATE / ALTER / DELETE TABLE, CREATE / ALTER / DELETE VIEW ecc.
- Privilegio oggetto: Ciò consente di eseguire azioni su un oggetto o un oggetto di un altro utente (i) vale a dire. tabella, vista, indici ecc. Alcuni dei privilegi degli oggetti sono EXECUTE, INSERT, UPDATE, DELETE, SELECT, FLUSH, LOAD, INDEX, REFERENCES ecc.
D # 17) 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 modo tale che, una volta eseguito, il database sia esposto a un aggressore 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.
Per esempio,
SELECT column_name(s) FROM table_name WHERE condition;
D # 18) Che cos'è SQL Sandbox in SQL Server?
Risposta: SQL Sandbox è un luogo sicuro nell'ambiente del server SQL 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.
D # 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 dei linguaggi di programmazione.
D # 20) Qual è la differenza tra SQL e MySQL?
Risposta: SQL è un linguaggio di query strutturato utilizzato per manipolare e accedere al database relazionale. D'altra parte, MySQL stesso è un database relazionale che utilizza SQL come linguaggio di database standard.
D # 21) Qual è l'uso della funzione NVL?
Risposta: La funzione NVL viene utilizzata per convertire il valore nullo nel suo valore effettivo.
Q # 22) Qual è il prodotto cartesiano della tabella?
Risposta: L'output di Cross Join è chiamato prodotto cartesiano. Restituisce le righe combinando ogni riga della prima tabella con ogni riga della seconda tabella. Per esempio, se uniamo due tabelle con 15 e 20 colonne, il prodotto cartesiano di due tabelle sarà 15 × 20 = 300 righe.
D # 23) Cosa intendi per Subquery?
Risposta: La query all'interno di un'altra query viene chiamata sottoquery. Una sottoquery è chiamata query interna che restituisce l'output che deve essere utilizzato da un'altra query.
D # 24) Quanti operatori di confronto di righe vengono utilizzati mentre si lavora con una sottoquery?
Risposta: Esistono operatori di confronto a 3 righe che vengono utilizzati in sottoquery come IN, ANY e ALL.
D # 25) Qual è la differenza tra 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 cluster possono essere letti rapidamente anziché gli indici non cluster.
- Gli indici cluster archiviano i dati fisicamente nella tabella o nella vista, mentre gli indici non cluster non archiviano i dati nella tabella poiché ha una struttura separata dalla riga di 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.
- Il 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.
D # 28) Come scrivere una query per mostrare i dettagli di uno studente dalla tabella Studenti il cui
il nome inizia con K?
Risposta: Domanda:
SELECT * FROM Student WHERE Student_Name like ‘K%’;
Qui l'operatore 'mi piace' viene utilizzato per eseguire la corrispondenza del modello.
D # 29) Qual è la differenza tra sottoquery annidata e sottoquery correlata?
Risposta: La sottoquery all'interno di un'altra sottoquery è chiamata sottoquery annidata. Se l'output di una sottoquery dipende dai valori della colonna della tabella della 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) Cos'è la normalizzazione? Quante forme di normalizzazione esistono?
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 l'inserimento, l'aggiornamento e la cancellazione di 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.
- Prima forma normale (2NF): Segue 1NF e crea e posiziona 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 tramite la chiave primaria.
- Quarta forma normale (4NF): Segue 3NF e non definisce dipendenze multivalore. 4NF è anche noto come BCNF.
Q # 31) Che cos'è una relazione? Quanti tipi di relazioni esistono?
Risposta: La relazione può essere definita come la connessione tra più di una tabella nel database.
Esistono 4 tipi di relazioni:
- Rapporto uno a uno
- Rapporto molti a uno
- Rapporto molti a molti
- Rapporto uno a molti
D # 32) Cosa si intende per stored procedure? Come lo usiamo?
Risposta: Una procedura memorizzata è una raccolta di istruzioni SQL che possono essere utilizzate come funzione per accedere al database. Possiamo creare queste stored procedure in anticipo prima di utilizzarle e possiamo eseguirle laddove richiesto applicandovi una logica condizionale. 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
D # 33) Indicare alcune proprietà dei database relazionali?
Risposta: le proprietà sono le seguenti:
- Nei database relazionali, ogni colonna dovrebbe avere un nome univoco.
- La sequenza di righe e colonne nei database relazionali è insignificante.
- Tutti i valori sono atomici e ogni riga è unica.
D # 34) Cosa sono i trigger annidati?
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 annidati.
Q # 35) Cos'è un cursore?
Risposta: Un cursore è un oggetto di database utilizzato per manipolare i dati in modo da riga a riga.
Il cursore segue i passaggi indicati di seguito:
- Dichiara il cursore
- Apri il cursore
- Recupera la riga dal cursore
- Elabora la riga
- Chiudi il cursore
- Dealloca cursore
D # 36) Che cos'è la collation?
Risposta: Le regole di confronto sono un insieme di regole che controllano come vengono ordinati i dati confrontandoli. Ad esempio, i dati dei caratteri vengono archiviati utilizzando la sequenza di caratteri corretta insieme alla distinzione tra maiuscole e minuscole, tipo e accento.
D # 37) Di cosa abbiamo bisogno per controllare in Database Testing?
Risposta: Nel test del database, è necessario testare quanto segue:
- Connettività al database
- Controllo dei vincoli
- Campo di applicazione richiesto e relativa dimensione
- Recupero dati ed elaborazione con operazioni DML
- Procedura di archiviazione
- Flusso funzionale
D # 38) Che cos'è il test della casella bianca del database?
Risposta: Il test White Box del database prevede:
- Consistenza del database e proprietà ACID
- Trigger del database e viste logiche
- Copertura delle decisioni, Copertura delle condizioni e Copertura delle dichiarazioni
- Tabelle di database, modello di dati e schema di database
- Regole di integrità referenziale
D # 39) Che cos'è il test della scatola nera del database?
Risposta: Il test del database Black Box prevede:
- Mappatura dei dati
- Dati archiviati e recuperati
- Uso di tecniche di test Black Box come il partizionamento di equivalenza e l'analisi del valore limite (BVA)
D # 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 le istruzioni CREATE.
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)
AGGIORNARE: Abbiamo aggiunto altre brevi domande per fare pratica.
Q # 41) Che 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 utilizzare la seguente sintassi:
Select * from table_name;
D # 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 è presente almeno una corrispondenza in entrambe le tabelle incluse nel join. Leggi di più qui .
I tipi di join sono:
domande di intervista di test del software per esperti
- Giusto join
- Unione esterna
- Partecipazione completa
- 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.
Per esempio,
INSERT into table_name VALUES (value1, value2..);
Q # 45) Come si aggiunge una colonna a una tabella?
Risposta: Per aggiungere un'altra colonna nella tabella, utilizzare il seguente comando:
ALTER TABLE table_name ADD (column_name);
Letture consigliate = >> 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_name WHERE
Q # 47) Definisci COMMIT?
Risposta: COMMIT salva tutte le modifiche apportate dalle istruzioni DML.
D # 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) Cosa 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 collega le due tabelle, in altre tabelle viene chiamata chiave esterna. I vincoli della chiave esterna impongono l'integrità referenziale.
Q # 50) Cos'è il vincolo CHECK?
Risposta: Un vincolo CHECK viene utilizzato per limitare i valori o il tipo di dati che possono essere memorizzati in una colonna. Vengono utilizzati per rafforzare l'integrità del dominio.
D # 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 possibili valori per il campo dati BOOLEANO?
Risposta: Per un campo dati BOOLEANO, sono possibili due valori: -1 (vero) e 0 (falso).
D # 53) Che cos'è una stored procedure?
Risposta: Una stored procedure è un insieme di query SQL che possono ricevere input e restituire output.
D # 54) Cos'è l'identità in SQL?
Risposta: Una colonna Identity in cui SQL genera automaticamente valori numerici. Possiamo definire un valore iniziale e un valore incrementale della colonna Identity.
Q # 55) Cos'è la normalizzazione?
Risposta: Il processo di progettazione della tabella per ridurre al minimo la ridondanza dei dati è chiamato normalizzazione. Dobbiamo dividere un database in due o più tabelle e definire la relazione tra di loro.
Q # 56) Che cos'è un trigger?
Risposta: Il Trigger ci consente di eseguire un batch di codice SQL quando si verifica un evento 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 SAMPLE possiamo selezionare righe casuali.
Per esempio,
SELECT * FROM table_name SAMPLE(10);
D # 58) Quale porta TCP / IP esegue SQL Server?
Risposta: Per impostazione predefinita, SQL Server viene eseguito sulla porta 1433.
D # 59) Scrivere una query SQL SELECT che restituisca ogni nome solo una volta da una tabella?
Risposta: Per ottenere il risultato come ogni nome solo una volta, è necessario utilizzare la parola chiave DISTINCT.
SELECT DISTINCT name FROM table_name;
Q # 60) Spiega DML e DDL?
Risposta: DML è l'acronimo di Data Manipulation Language. INSERT, UPDATE e DELETE sono istruzioni DML.
DDL è l'acronimo di Data Definition Language. CREATE, ALTER, DROP, RENAME sono istruzioni DDL.
D # 61) Possiamo rinominare una colonna nell'output della query SQL?
Risposta: Sì, utilizzando la seguente sintassi possiamo farlo.
SELECT column_name AS new_name FROM table_name;
D # 62) Dare l'ordine di SQL SELECT?
Risposta: L'ordine delle clausole SQL SELECT è: SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY. Solo le clausole SELECT e FROM sono obbligatorie.
Q # 63) Supponiamo che una colonna Student abbia due colonne, Name e Marks. Come ottenere nomi e voti dei primi tre studenti.
Risposta: SELECT Name, Marks FROM Student s1 dove 3<= (SELECT COUNT(*) FROM Students s2 WHERE s1.marks = s2.marks)
D # 64) Cosa sono i commenti SQL?
Risposta: È possibile inserire commenti SQL aggiungendo due trattini consecutivi (-).
D # 65) Differenza tra i comandi TRUNCATE, DELETE e DROP?
Risposta:
- ELIMINA rimuove alcune o tutte le righe da una tabella in base alla condizione. Può essere ripristinato.
- TRONCARE rimuove TUTTE le righe da una tabella disallocando le pagine di memoria. L'operazione non può essere annullata
- FAR CADERE Il comando rimuove completamente una tabella dal database.
Q # 66) Quali sono le proprietà di una transazione?
Risposta: In genere, queste proprietà vengono chiamate proprietà ACID. Sono:
- Atomicita
- Consistenza
- Solitudine
- Durevolezza.
Q # 67) Cosa intendi per ROWID?
Risposta: È una pseudo colonna lunga 18 caratteri allegata a ciascuna riga di una tabella.
Q # 68) Definisci UNION, MINUS, UNION ALL, INTERSECT?
Risposta:
- MENO - restituisce tutte le righe distinte selezionate dalla prima query ma non dalla seconda.
- UNIONE - restituisce tutte le righe distinte selezionate da una delle query
- UNION ALL - restituisce tutte le righe selezionate da una delle due query, inclusi tutti i duplicati.
- INTERSECT - restituisce tutte le righe distinte selezionate da entrambe le query.
Q # 69) Cos'è una transazione?
Risposta: Una transazione è una sequenza di codice che viene eseguita su un database. Porta il database da uno stato coerente a un altro.
Q # 70) Qual è la differenza tra i vincoli UNIQUE e PRIMARY KEY?
Risposta: le differenze sono le seguenti:
- Una tabella può avere solo una CHIAVE PRIMARIA mentre può esserci un numero qualsiasi di chiavi UNICHE.
- La chiave primaria non può contenere valori Null mentre la chiave Unique può contenere valori Null.
Q # 71) Cos'è una chiave primaria composita?
Risposta: La chiave primaria creata su più di una colonna è chiamata chiave primaria composita.
Q # 72) Che cos'è un indice?
Risposta: Un indice è una struttura speciale associata a una tabella per velocizzare le prestazioni delle query. L'indice può essere creato su una o più colonne di una tabella.
D # 73) Cos'è la sottoquery?
Risposta: Una sottoquery è un sottoinsieme di istruzioni select i cui valori restituiti vengono utilizzati nelle condizioni di filtro della query principale.
D # 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.
D # 75) Che cos'è la collazione?
Risposta: Insieme di regole che definiscono la modalità di archiviazione dei dati, il trattamento della distinzione tra maiuscole e minuscole e il carattere Kana ecc.
D # 76) Che cos'è l'integrità referenziale?
Risposta: Insieme 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.
D # 77) Cos'è 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) Definisci una tabella temporanea?
Risposta: Una tabella temporanea è una struttura di archiviazione temporanea per archiviare temporaneamente i dati.
D # 79) Come possiamo evitare di duplicare i record in una query?
Risposta: Utilizzando la parola chiave DISTINCT, è possibile evitare la duplicazione dei record in una query.
Q # 80) Spiega la differenza tra Rename e Alias?
Risposta: Rinomina è un nome permanente assegnato a una tabella o colonna, mentre Alias è un nome temporaneo assegnato a una tabella o colonna.
D # 81) Cos'è una vista?
Risposta: Una vista è una tabella virtuale che contiene i dati di una o più tabelle. Le viste limitano l'accesso ai dati della tabella selezionando solo i valori richiesti e semplificano le query complesse.
D # 82) Quali sono i vantaggi delle visualizzazioni?
Risposta: i vantaggi delle visualizzazioni sono:
- Le viste limitano l'accesso ai dati perché la vista può visualizzare colonne selettive dalla tabella.
- Le viste possono essere utilizzate per eseguire query semplici per recuperare i risultati di query complicate. Per esempio, le viste possono essere utilizzate per richiedere informazioni da più tabelle all'insaputa dell'utente.
D # 83) Elencare i vari privilegi che un utente può concedere a un altro utente?
Risposta: SELEZIONA, CONNETTI, RISORSE.
Q # 84) 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 archiviati in righe e colonne.
D # 86) La vista contiene dati?
Risposta: No, le viste sono strutture virtuali.
D # 87) Può una vista basata su un'altra vista?
Risposta: Sì, una vista si basa 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 Have viene utilizzata solo con l'istruzione SELECT e in genere utilizzata con la clausola GROUP BY.
Se la clausola GROUP BY non viene utilizzata, si comporta solo come clausola WHERE.
D # 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) Cos'è il CTE?
Risposta: Un'espressione di tabella comune o CTE è un'espressione che contiene un set di risultati temporaneo definito in un'istruzione SQL.
Conclusione
SQL è una componente essenziale del sistema di database. Avere una conoscenza approfondita del database insieme ai concetti SQL sarà sicuramente utile per decifrare l'intervista per il profilo interessato.
Oltre ad alcuni concetti principali, ci sono alcuni fatti nascosti che rimangono invisibili e influenzano la tua performance durante l'intervista. In questo tutorial, ho cercato di ricordare alcuni di quei concetti che sembrano piccoli ma non dovrebbero essere trascurati.
Spero che in questo articolo troverai le risposte alle domande più frequenti dell'intervista SQL. La conoscenza di SQL è un must per qualsiasi tester e questo articolo ti aiuterà nella preparazione del colloquio.
Ulteriori letture => Tutto sul test del database
Lettura consigliata
- Domande e risposte dell'intervista
- Domande principali per l'intervista su Oracle: Oracle Basic, SQL, PL / SQL Questions
- Le 30 domande e risposte dell'intervista PL / SQL più importanti nel 2021
- Domande e risposte al colloquio di prova ETL
- Principali domande e risposte dell'intervista a Teradata
- Alcune domande e risposte sui test manuali complicati
- 25 migliori domande e risposte per l'intervista al test agile
- Domande dell'intervista a Spock con risposte (le più popolari)