19 Domande e risposte per l'intervista SQL da leggere: per principianti ed esperti nel 2022

Pubblicato: 2021-01-07

Domande e risposte per l'intervista SQL

Preoccupato per il tuo colloquio? Ti abbiamo coperto per le tue domande di intervista SQL. Queste sono alcune delle domande più frequenti in Sql Interviews.
Indipendentemente dal ruolo lavorativo che scegli nel settore del software e dell'IT, le competenze SQL sono un must. Ancora oggi, RDBMS è uno dei database più utilizzati in tutto il mondo e, quindi, SQL è una parte indispensabile del dominio di sviluppo. Grandi nomi come Uber, Netflix, Airbnb e, naturalmente, Microsoft usano SQL come strumento di gestione del database principale.

Il motivo per cui SQL è oggi immensamente popolare è che supporta una serie di elaborazione delle transazioni, applicazioni di analisi e operazioni di business intelligence negli ambienti IT aziendali.

In questo post, ti aiuteremo a iniziare con le basi di SQL. Questo è il motivo per cui abbiamo creato un elenco delle domande del colloquio SQL più frequenti. Spero che le domande dell'intervista SQL ti aiutino nelle tue interviste. Queste domande sull'intervista SQL ti offriranno un'idea relativamente buona dei concetti fondamentali di SQL e di come dovresti procedere con esso.

Principali domande e risposte sull'intervista SQL

1. Definisci SQL.

SQL o Structured Query Language è un sistema di gestione di database relazionali creato da Microsoft. È progettato esplicitamente per comunicare con i database. ANSI (American National Standards Institute) sostiene che SQL è il linguaggio di query standard per i sistemi di gestione di database relazionali (RDBMS).

Non viene utilizzato solo per il mantenimento di RDBMS, ma anche per eseguire un'ampia gamma di altre operazioni di manipolazione dei dati su diversi tipi di dati. Ad esempio, SQL viene utilizzato per creare database, creare tabelle in un database, recuperare dati da un database, aggiornare tabelle in un database, eseguire query e così via.

Ulteriori informazioni: SQL per la scienza dei dati: perché SQL

2. Definisci database.

Il database si riferisce a una forma strutturata di dati che viene archiviata in una forma organizzata in un computer per facilitarne l'accesso, la memorizzazione, il recupero e la gestione dei dati. Un database è essenzialmente una raccolta di schemi, tabelle, query, viste, ecc.

3. In che modo RDBMS è diverso da DBMS?

RDBMS o Relational Database Management System è diverso da DBMS nel senso che RDBMS memorizza i dati come una raccolta di tabelle in cui è possibile definire le relazioni tra i campi comuni delle tabelle mentre, in DBMS, non è possibile farlo.

A differenza di RDBMS che memorizza i dati in forma di tabella, DBMS funziona più come un File Manager che archivia i dati all'interno di un database invece di salvarli in un file system.

RDBMS è la base per molti moderni sistemi di gestione di database come MySQL, Microsoft SQL Server, Oracle, IBM DB2 e Amazon Redshift.

4. Definisci vincoli.

In SQL, i vincoli vengono utilizzati per specificare il limite sul tipo di dati di una tabella o dichiarare le regole relative ai dati in una tabella nel database. I vincoli possono essere specificati sia per campi singoli che multipli in una tabella SQL, durante la creazione di una tabella o dopo averla creata utilizzando il comando ALTER TABLE.

Alcuni dei vincoli in SQL sono:

  • NON NULLO
  • DAI UN'OCCHIATA
  • PREDEFINITO
  • UNICO
  • CHIAVE PRIMARIA
  • CHIAVE STRANIERA

5. Definisci: chiave primaria, chiave univoca e chiave esterna.

Una chiave primaria è una combinazione di campi che aiuta a specificare una riga in modo univoco. Una chiave primaria deve avere valori univoci e contiene anche un vincolo NOT NULL implicito, il che significa che una chiave primaria non può avere valori NULL.

Viene utilizzato un vincolo chiave univoco per garantire che tutti i valori in una colonna siano diversi. Aiuta a identificare ogni record in un database in modo univoco. A differenza della chiave primaria (c'è solo una chiave primaria definita per tabella), possono esserci più vincoli univoci definiti per tabella.

Una chiave esterna è costituita da un singolo o da una raccolta di campi in una tabella che possono essere utilizzati per fare riferimento alla chiave primaria di un'altra tabella. Questa chiave aiuta a mantenere l'integrità referenziale nella relazione tra due tabelle. Mentre la tabella contenente il vincolo di chiave esterna è nota come tabella figlio, la tabella contenente la chiave candidata viene etichettata come tabella padre.

6. Definisci unisci. Quali sono i diversi tipi di Join?

Join è una clausola SQL progettata per combinare record o righe di due o più tabelle in base a una colonna correlata tra di loro. Join agisce come una parola chiave utilizzata per interrogare i dati da più tabelle in base alla relazione tra i campi delle tabelle. Sono utilizzati principalmente per il recupero dei dati. Tuttavia, il recupero dei dati dipende in gran parte dalla relazione tra le tabelle.

Esistono quattro tipi di join:

  • Join interno: viene utilizzato per restituire record o righe che contengono almeno un valore di corrispondenza tra le tabelle.
  • Right Join – Restituisce le righe che sono una corrispondenza comune tra le tabelle e tutte le altre righe che si trovano sulla tabella di destra. In parole povere, il join destro restituisce tutte le righe dalla tabella di destra indipendentemente dal fatto che non ci siano corrispondenze disponibili nella tabella di sinistra.
  • Join sinistro: come il join destro, il join sinistro restituisce le righe comuni tra le tabelle e tutte le righe che si trovano nella tabella di sinistra, anche se non ci sono corrispondenze disponibili nella tabella di destra.
  • Full Join: questo join restituisce righe quando una singola tabella è composta da righe corrispondenti. In altre parole, crea un set contenente il risultato sia del join destro che del join sinistro. Pertanto, il set di risultati include tutte le righe delle tabelle di sinistra e di destra.

7. Che cos'è un indice? Assegna un nome ai diversi tipi di indici.

In SQL, un indice è un metodo di ottimizzazione delle prestazioni che consente un recupero più rapido dei record dalle tabelle. Accelerano il processo di ricerca nel database: un indice crea una voce per ogni valore, rendendo così più veloce il recupero dei dati.

Gli indici vengono utilizzati per trovare le righe che corrispondono ad alcune colonne scorrendo solo quei sottoinsiemi di dati per trovare le corrispondenze corrette.

Esistono tre tipi di indici:

  • Indice univoco: questo indice garantisce che non ci siano due righe di dati in una tabella con valori chiave identici, mantenendo così l'integrità dei dati. È possibile applicare automaticamente un indice univoco durante la definizione della chiave primaria.
  • Indice cluster: questo indice aiuta a riordinare o riorganizzare l'ordine fisico di una tabella e la ricerca in base ai valori chiave. In questo indice, l'ordine delle righe contenute nel database corrisponde all'ordine delle righe nell'indice. Questo è il motivo per cui una tabella può avere un solo indice cluster.
  • Indice non cluster: questo indice mantiene l'ordine logico dei dati. Viene utilizzato per creare un'entità separata all'interno della tabella che fa riferimento alla tabella originale. Una tabella può avere più indici non cluster.

8. Che cos'è AUTO_INCREMENT?

AUTO_INCREMENT viene utilizzato per generare automaticamente un numero univoco ogni volta che un nuovo record viene aggiunto o inserito in una tabella. Poiché una tabella ha una sola chiave primaria, questa chiave primaria viene aggiunta come campo AUTO_INCREMENT che consente di incrementare il campo ogni volta che viene aggiunto un nuovo record.

Per impostazione predefinita, il valore AUTO-INCREMENT parte da 1 e viene incrementato di 1 ogni volta che viene inserito un nuovo record.

9. Definire query e sottoquery.

Una query è un codice scritto per richiedere o recuperare dati da una tabella di database o da più tabelle. Una query può essere una query di azione o una query di selezione.

Una sottoquery, d'altra parte, è una query all'interno di un'altra query. È anche noto come query interna o query nidificata. Una sottoquery viene utilizzata per limitare o migliorare i dati che devono essere interrogati dalla query principale, limitando o migliorando così il risultato della query principale. Di solito, viene eseguita prima una sottoquery e il risultato viene passato alla query principale.

Esistono due tipi di sottoquery:

  • Sottoquery correlata: questa sottoquery non è una query indipendente. Tuttavia, può fare riferimento alla colonna in una tabella elencata in FROM della query principale.
  • Sottoquery non correlata: questa è una query indipendente e il suo output viene sostituito nella query principale.

10. Definisci trigger.

Un trigger è un codice o un programma memorizzato che viene eseguito automaticamente quando si verificano eventi come l'istruzione INSERT, DELETE, UPDATE(DML). Possono anche essere eseguiti come risposta alle istruzioni di definizione dei dati (DDL) e alle operazioni del database come ERRORE SERVER, ACCESSO, ecc. I trigger aiutano a mantenere l'integrità del database.

11. Spiegare il ruolo delle proprietà ACID in una transazione.

Le proprietà ACID vengono seguite per mantenere la coerenza in un database sia prima che dopo le transazioni.

  • Atomicità – Ciò implica che una transazione deve essere completata. Non dovrebbe essere lasciato a metà. Se mai una transazione fallisce, l'intera transazione fallirà e il database rimarrà invariato.
  • Coerenza: cerca di mantenere i vincoli di integrità convalidando i dati inseriti in un database.
  • Isolation: questa proprietà ha lo scopo di controllare la concorrenza.
  • Durabilità: questa proprietà garantisce che una volta completata una transazione, questa rimanga impegnata nonostante eventuali problemi che potrebbero verificarsi (ad esempio, perdita di alimentazione, errori interni, ecc.).

12. Distinguere tra i comandi DELETE e TRUNCATE.

La differenza fondamentale tra i comandi DELETE e TRUNCATE è la seguente:

  • Mentre il comando DELETE viene utilizzato per eliminare o rimuovere una o più tabelle esistenti, il comando TRUNCATE elimina tutti i dati dall'interno di una tabella.
  • DELETE è un comando DML, mentre TRUNCATE è un comando DDL.
  • DELETE ti consente di eseguire un trigger, ma TRUNCATE non ti consente di eseguire e attivare.
  • Il comando TRUNCATE non funziona quando i vincoli di chiave esterna fanno riferimento a una tabella. In questi casi, devi usare il comando DELETE.

13. Denominare i diversi sottoinsiemi di SQL.

I sottoinsiemi di SQL includono:

  • DDL (Data Definition Language) – Questo linguaggio consente di eseguire una serie di operazioni sul database, inclusi i comandi SQL come gli oggetti CREATE, ALTER e DELETE.
  • DML (Data Manipulation Language) – Questo linguaggio consente di accedere e manipolare i dati in un database utilizzando comandi come INSERT, UPDATE e DELETE.
  • DCL (Data Control Language) – Questo linguaggio consente di controllare l'accesso al database utilizzando comandi come GRANT e REVOKE.

Leggi: I 9 migliori strumenti per la scienza dei dati nel 2020

14. Spiegare l'integrità dei dati.

L'integrità dei dati definisce l'accuratezza, la coerenza e l'affidabilità dei dati archiviati nel database. Inoltre, aiuta a definire i vincoli di integrità per far rispettare le regole di business sui dati quando vengono inseriti in un database o in un'applicazione.

L'integrità dei dati è di quattro tipi:

  • Integrità delle righe
  • Integrità della colonna
  • Integrità referenziale
  • Integrità definita dall'utente

15. Quali sono le funzioni definite dall'utente? Assegna un nome ai tipi di funzioni definite dall'utente.

Le funzioni definite dall'utente sono funzioni scritte appositamente per utilizzare una logica specifica come e quando richiesto. Queste funzioni eliminano la necessità di scrivere più volte la stessa logica; invece, puoi chiamare o eseguire una funzione definita dall'utente quando necessario.

Esistono tre tipi di funzioni definite dall'utente:

  • Funzioni scalari.
  • Funzioni inline con valori di tabella.
  • Funzioni con valore multi istruzione.

16. Definisci confronto. Assegna un nome ai diversi tipi di sensibilità di confronto.

Le regole di confronto si riferiscono a una raccolta di regole che determinano il modo in cui i dati dei caratteri vengono ordinati e confrontati. Oltre a definire la sequenza di caratteri corretta per ordinare i dati dei caratteri, incorpora opzioni per specificare la distinzione tra maiuscole e minuscole, i segni di accento, i tipi di caratteri kana e anche la larghezza dei caratteri.

I diversi tipi di sensibilità di confronto includono:

  • Sensibilità tra maiuscole e minuscole: i caratteri "A" e "a" vengono trattati in modo diverso.
  • Sensibilità all'accento – I caratteri 'a' e ' a' vengono trattati in modo diverso.
  • Sensibilità al Kana: tratta i personaggi Kana giapponesi come Hiragana e Katakana in modo diverso.
  • Sensibilità alla larghezza: tratta il carattere a byte singolo (mezza larghezza) e il carattere a doppio byte (larghezza intera) in modo diverso.

17. Cosa intendi per procedura archiviata?

Una stored procedure è una subroutine (codice SQL) utilizzata per le applicazioni che accedono a RDBMS. Supporta il concetto di programmazione modulare, il che significa che puoi creare una stored procedure una volta e salvarla e richiamarla più volte come e quando richiesto.

Queste procedure sono memorizzate nel dizionario dei dati del database. Il vantaggio di una stored procedure è che consente un'esecuzione più rapida delle query. Ciò non solo riduce il traffico di rete, ma fornisce anche una migliore sicurezza dei dati.

Un altro vantaggio è che le stored procedure sono dotate di funzionalità aggiuntive poiché gli utenti che non possono accedere direttamente ai dati possono utilizzare le stored procedure per ottenere l'accesso.

Tuttavia, presenta anche uno svantaggio: una procedura memorizzata può essere eseguita solo in un database, occupando solitamente più memoria nel server del database.

18. Differenziare tra viste e tabelle.

Ecco alcuni punti di differenza tra viste e tabelle:

  • Le viste si riferiscono a una tabella virtuale estratta da un database, mentre una tabella si riferisce a un'entità strutturata contenente un numero limitato di colonne e un numero infinito di righe.
  • Le viste non possono contenere dati da sole, mentre le tabelle contengono dati e li archiviano nei database.
  • Le visualizzazioni consentono di interrogare informazioni specifiche contenute in alcune tabelle distinte. Tuttavia, una tabella contiene informazioni fondamentali sul client insieme a casi di oggetti caratterizzati.

19. Definisci la tabella temporanea. Come puoi crearne uno?

Una tabella temporanea è una tabella che consente di memorizzare ed elaborare risultati intermedi. Queste tabelle possono essere eliminate automaticamente quando non vengono più utilizzate. Le tabelle temporanee sono utili per le situazioni in cui è necessario archiviare dati temporanei.

La sintassi per creare una tabella temporanea è:

CREA TABELLA #nome_tabella();

La query seguente creerà una tabella temporanea:

crea la tabella #book(b_id int, b_cost int)

Ora inseriamo i record.

inserisci in #libri valori(1.100)

inserisci in #libri valori(2,232)

seleziona * da #prenota

Impara i corsi di sviluppo software online dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.

Avvolgendo

Ci auguriamo che questa guida alle domande e risposte dell'intervista SQL ti aiuti a rafforzare ed espandere la tua base di conoscenze SQL.

Se sei curioso di conoscere SQL e altro sullo sviluppo dello stack completo, dai un'occhiata al programma Executive PG di IIIT-B e upGrad in Full Stack Software Development, creato per i professionisti che lavorano e offre oltre 10 casi di studio e progetti, pratiche pratiche workshop, tutoraggio con esperti del settore, 1 contro 1 con tutor del settore, oltre 400 ore di apprendimento e assistenza al lavoro con le migliori aziende.

Diploma PG in sviluppo software full stack

Richiedi ora il programma Executive PG in Full Stack Development