19 Fragen und Antworten zu SQL-Interviews, die Sie lesen müssen: Für Anfänger und Erfahrene im Jahr 2022
Veröffentlicht: 2021-01-07Fragen und Antworten zu SQL-Interviews
Machen Sie sich Sorgen um Ihr Vorstellungsgespräch? Wir haben Sie für Ihre SQL-Interviewfragen abgedeckt. Dies sind einige der am häufigsten gestellten Fragen in SQL-Interviews.
Ganz gleich, für welche berufliche Rolle Sie sich in der Software- und IT-Branche entscheiden, SQL-Kenntnisse sind ein Muss. RDBMS ist auch heute noch eine der am häufigsten verwendeten Datenbanken weltweit, und daher ist SQL aus der Entwicklungsdomäne nicht mehr wegzudenken. Große Namen wie Uber, Netflix, Airbnb und natürlich Microsoft verwenden SQL als primäres Datenbankverwaltungstool.
Der Grund, warum SQL heute immens beliebt ist, liegt darin, dass es eine Vielzahl von Transaktionsverarbeitungen, Analyseanwendungen und Business-Intelligence-Vorgängen in Unternehmens-IT-Umgebungen unterstützt.
In diesem Beitrag helfen wir Ihnen beim Einstieg in die Grundlagen von SQL. Aus diesem Grund haben wir eine Liste der am häufigsten gestellten Fragen zu SQL-Interviews erstellt. Ich hoffe, die SQL-Interviewfragen helfen Ihnen bei Ihren Interviews. Diese SQL-Interviewfragen geben Ihnen eine relativ gute Vorstellung von den grundlegenden Konzepten von SQL und wie Sie damit umgehen sollten.
Die wichtigsten Fragen und Antworten zu SQL-Interviews
1. SQL definieren.
SQL oder Structured Query Language ist ein von Microsoft entwickeltes Verwaltungssystem für relationale Datenbanken. Es ist explizit für die Kommunikation mit den Datenbanken ausgelegt. ANSI (American National Standards Institute) behauptet, dass SQL die Standardabfragesprache für relationale Datenbankverwaltungssysteme (RDBMS) ist.
Es wird nicht nur zur Wartung von RDBMS verwendet, sondern auch zur Durchführung einer Vielzahl anderer Datenmanipulationsoperationen an verschiedenen Datentypen. Beispielsweise wird SQL zum Erstellen von Datenbanken, zum Erstellen von Tabellen in einer Datenbank, zum Abrufen von Daten aus einer Datenbank, zum Aktualisieren von Tabellen in einer Datenbank, zum Ausführen von Abfragen usw. verwendet.

Weiterlesen: SQL für Data Science: Warum SQL
2. Datenbank definieren.
Datenbank bezieht sich auf eine strukturierte Form von Daten, die in organisierter Form in einem Computer gespeichert werden, um den einfachen Zugriff, die Speicherung, den Abruf und die Verwaltung von Daten zu erleichtern. Eine Datenbank ist im Wesentlichen eine Sammlung von Schemas, Tabellen, Abfragen, Ansichten usw.
3. Wie unterscheidet sich RDBMS von DBMS?
RDBMS oder relationales Datenbankverwaltungssystem unterscheidet sich von DBMS in dem Sinne, dass RDBMS Daten als Sammlung von Tabellen speichert, in denen Sie die Beziehungen zwischen den gemeinsamen Feldern der Tabellen definieren können, während Sie dies in DBMS nicht tun können.
Im Gegensatz zu RDBMS, das Daten in Tabellenform speichert, funktioniert DBMS eher wie ein Dateimanager, der die Daten in einer Datenbank speichert, anstatt sie in einem Dateisystem zu speichern.
RDBMS ist die Grundlage für viele moderne Datenbankverwaltungssysteme wie MySQL, Microsoft SQL Server, Oracle, IBM DB2 und Amazon Redshift.
4. Einschränkungen definieren.
In SQL werden Einschränkungen verwendet, um die Grenze für den Datentyp einer Tabelle festzulegen oder die Regeln für Daten in einer Tabelle in der Datenbank zu deklarieren. Einschränkungen können sowohl für einzelne als auch für mehrere Felder in einer SQL-Tabelle angegeben werden, entweder während der Erstellung einer Tabelle oder nach der Erstellung mit dem ALTER TABLE-Befehl.
Einige der Einschränkungen in SQL sind:
- NICHT NULL
- PRÜFEN
- URSPRÜNGLICH
- EINZIGARTIG
- PRIMÄRSCHLÜSSEL
- UNBEKANNTER SCHLÜSSEL
5. Definieren – Primärschlüssel, eindeutiger Schlüssel und Fremdschlüssel.
Ein Primärschlüssel ist eine Kombination von Feldern, die hilft, eine Zeile eindeutig zu spezifizieren. Ein Primärschlüssel muss eindeutige Werte haben und enthält außerdem eine implizite NOT NULL-Einschränkung, was bedeutet, dass ein Primärschlüssel keine NULL-Werte haben kann.
Eine eindeutige Schlüsselbeschränkung wird verwendet, um sicherzustellen, dass alle Werte in einer Spalte unterschiedlich sind. Es hilft, jeden Datensatz in einer Datenbank eindeutig zu identifizieren. Im Gegensatz zum Primärschlüssel (es ist nur ein Primärschlüssel pro Tabelle definiert) können mehrere Unique Constraints pro Tabelle definiert werden.
Ein Fremdschlüssel besteht aus einem einzelnen Feld oder einer Sammlung von Feldern in einer Tabelle, die verwendet werden können, um auf den Primärschlüssel einer anderen Tabelle zu verweisen. Dieser Schlüssel trägt dazu bei, die referenzielle Integrität in der Beziehung zwischen zwei Tabellen aufrechtzuerhalten. Während die Tabelle, die die Fremdschlüsseleinschränkung enthält, als untergeordnete Tabelle bezeichnet wird, wird die Tabelle, die den Kandidatenschlüssel enthält, als übergeordnete Tabelle bezeichnet.
6. Verbinden definieren. Welche verschiedenen Join-Arten gibt es?
Join ist eine SQL-Klausel, die zum Kombinieren von Datensätzen oder Zeilen aus zwei oder mehr Tabellen auf der Grundlage einer verwandten Spalte zwischen ihnen entwickelt wurde. Join verhält sich wie ein Schlüsselwort, das zum Abfragen von Daten aus mehreren Tabellen verwendet wird, basierend auf der Beziehung zwischen den Feldern der Tabellen. Sie werden hauptsächlich zum Abrufen von Daten verwendet. Der Datenabruf hängt jedoch weitgehend von der Beziehung zwischen Tabellen ab.
Es gibt vier Arten von Joins:
- Inner Join – Dies wird verwendet, um Datensätze oder Zeilen zurückzugeben, die mindestens einen übereinstimmenden Wert zwischen den Tabellen enthalten.
- Right Join – Dies gibt Zeilen zurück, die eine gemeinsame Übereinstimmung zwischen den Tabellen und allen anderen Zeilen sind, die auf der rechten Seite der Tabelle liegen. Einfach ausgedrückt, der rechte Join gibt alle Zeilen aus der Tabelle auf der rechten Seite zurück, unabhängig davon, ob in der Tabelle auf der linken Seite keine Übereinstimmung verfügbar ist.
- Linker Join – Wie der rechte Join gibt der linke Join Zeilen zurück, die zwischen den Tabellen gemeinsam sind, und alle Zeilen, die in der Tabelle auf der linken Seite liegen, selbst wenn es keine verfügbare Übereinstimmung in der Tabelle auf der rechten Seite gibt.
- Vollständiger Join – Dieser Join gibt Zeilen zurück, wenn eine einzelne Tabelle aus übereinstimmenden Zeilen besteht. Mit anderen Worten, es wird eine Menge erstellt, die das Ergebnis sowohl des rechten Joins als auch des linken Joins enthält. Daher enthält die Ergebnismenge alle Zeilen sowohl aus der linken als auch aus der rechten Tabelle.
7. Was ist ein Index? Nennen Sie die verschiedenen Arten von Indizes.
In SQL ist ein Index eine Methode zur Leistungsoptimierung, die ein schnelleres Abrufen von Datensätzen aus Tabellen ermöglicht. Sie beschleunigen den Suchprozess in der Datenbank – ein Index erstellt für jeden Wert einen Eintrag und beschleunigt so das Auffinden von Daten.
Indizes werden verwendet, um Zeilen zu finden, die mit einigen Spalten übereinstimmen, indem nur diese Teilmengen der Daten durchsucht werden, um die richtigen Übereinstimmungen zu finden.
Es gibt drei Arten von Indizes:
- Eindeutiger Index – Dieser Index stellt sicher, dass keine zwei Datenzeilen in einer Tabelle identische Schlüsselwerte haben, wodurch die Datenintegrität gewahrt bleibt. Sie können beim Definieren des Primärschlüssels automatisch einen eindeutigen Index anwenden.
- Gruppierter Index – Dieser Index hilft, die physische Reihenfolge einer Tabelle neu zu ordnen oder neu anzuordnen und basierend auf den Schlüsselwerten zu suchen. In diesem Index entspricht die Reihenfolge der in der Datenbank enthaltenen Zeilen der Reihenfolge der Zeilen im Index. Aus diesem Grund kann eine Tabelle nur einen Clustered-Index haben.
- Nonclustered Index – Dieser Index behält die logische Reihenfolge der Daten bei. Es wird verwendet, um eine separate Entität innerhalb der Tabelle zu erstellen, die auf die ursprüngliche Tabelle verweist. Eine Tabelle kann mehrere Nonclustered-Indizes haben.
8. Was ist AUTO_INCREMENT?
AUTO_INCREMENT wird verwendet, um automatisch eine eindeutige Nummer zu generieren, wenn ein neuer Datensatz hinzugefügt oder in eine Tabelle eingegeben wird. Da eine Tabelle nur einen Primärschlüssel hat, wird dieser Primärschlüssel als AUTO_INCREMENT-Feld hinzugefügt, das dabei hilft, das Feld jedes Mal zu erhöhen, wenn ein neuer Datensatz hinzugefügt wird.
Standardmäßig beginnt der AUTO-INCREMENT-Wert bei 1 und wird jedes Mal um 1 erhöht, wenn ein neuer Datensatz eingefügt wird.
9. Definieren Sie Abfrage und Unterabfrage.
Eine Abfrage ist ein Code, der zum Anfordern oder Abrufen von Daten aus einer Datenbanktabelle oder mehreren Tabellen geschrieben wurde. Eine Abfrage kann eine Aktionsabfrage oder eine Auswahlabfrage sein.
Eine Unterabfrage hingegen ist eine Abfrage innerhalb einer anderen Abfrage. Sie wird auch als innere Abfrage oder verschachtelte Abfrage bezeichnet. Eine Unterabfrage wird verwendet, um die Daten einzuschränken oder zu verbessern, die von der Hauptabfrage abgefragt werden müssen, wodurch das Ergebnis der Hauptabfrage eingeschränkt oder verbessert wird. Normalerweise wird zuerst eine Unterabfrage ausgeführt und das Ergebnis an die Hauptabfrage weitergegeben.

Es gibt zwei Arten von Unterabfragen:
- Korrelierte Unterabfrage – Diese Unterabfrage ist keine unabhängige Abfrage. Es kann sich jedoch auf die Spalte in einer Tabelle beziehen, die im FROM der Hauptabfrage aufgeführt ist.
- Nicht korrelierte Unterabfrage – Dies ist eine unabhängige Abfrage, und ihre Ausgabe wird in der Hauptabfrage ersetzt.
10. Trigger definieren.
Ein Trigger ist ein gespeicherter Code oder ein gespeichertes Programm, das automatisch ausgeführt wird, wenn Ereignisse wie INSERT-, DELETE- oder UPDATE(DML)-Anweisungen auftreten. Sie können auch als Reaktion auf Datendefinitionsanweisungen (DDL) und Datenbankoperationen wie SERVER ERROR, LOGON usw. ausgeführt werden. Trigger helfen, die Datenbankintegrität aufrechtzuerhalten.
11. Erklären Sie die Rolle von ACID-Eigenschaften in einer Transaktion.
ACID-Eigenschaften werden befolgt, um die Konsistenz in einer Datenbank sowohl vor als auch nach Transaktionen aufrechtzuerhalten.
- Atomarität – Dies bedeutet, dass eine Transaktion abgeschlossen werden muss. Es sollte nicht in der Mitte verlassen werden. Wenn jemals eine Transaktion fehlschlägt, schlägt die gesamte Transaktion fehl und die Datenbank bleibt unverändert.
- Konsistenz – Dies versucht, Integritätsbeschränkungen aufrechtzuerhalten, indem die in eine Datenbank eingegebenen Daten validiert werden.
- Isolation – Diese Eigenschaft zielt darauf ab, die Parallelität zu steuern.
- Dauerhaftigkeit – Diese Eigenschaft stellt sicher, dass eine abgeschlossene Transaktion trotz etwaiger Herausforderungen (z. B. Stromausfall, interne Fehler usw.) festgeschrieben bleibt.
12. Unterscheiden Sie zwischen DELETE- und TRUNCATE-Befehlen.
Der Hauptunterschied zwischen den Befehlen DELETE und TRUNCATE ist wie folgt:
- Während der DELETE-Befehl verwendet wird, um eine oder mehrere vorhandene Tabellen zu löschen oder zu entfernen, löscht der TRUNCATE-Befehl alle Daten aus einer Tabelle.
- DELETE ist ein DML-Befehl, während TRUNCATE ein DDL-Befehl ist.
- Mit DELETE können Sie einen Trigger ausführen, mit TRUNCATE können Sie jedoch nicht ausführen und triggern.
- Der Befehl TRUNCATE funktioniert nicht, wenn Fremdschlüsseleinschränkungen auf eine Tabelle verweisen. In solchen Fällen müssen Sie den DELETE-Befehl verwenden.
13. Benennen Sie die verschiedenen Teilmengen von SQL.
Die Teilmengen von SQL umfassen:
- DDL (Data Definition Language) – Mit dieser Sprache können Sie eine Vielzahl von Vorgängen in der Datenbank ausführen, darunter SQL-Befehle wie CREATE-, ALTER- und DELETE-Objekte.
- DML (Data Manipulation Language) – Mit dieser Sprache können Sie mit Befehlen wie INSERT, UPDATE und DELETE auf die Daten in einer Datenbank zugreifen und diese bearbeiten.
- DCL (Data Control Language) – Mit dieser Sprache können Sie den Zugriff auf die Datenbank mithilfe von Befehlen wie GRANT und REVOKE steuern.
Lesen Sie: Top 9 Data Science Tools im Jahr 2020
14. Erklären Sie die Datenintegrität.
Die Datenintegrität definiert die Genauigkeit, Konsistenz und Zuverlässigkeit der in der Datenbank gespeicherten Daten. Darüber hinaus hilft es, Integritätsbeschränkungen zu definieren, um Geschäftsregeln für die Daten durchzusetzen, wenn sie in eine Datenbank oder Anwendung eingefügt werden.
Es gibt vier Arten von Datenintegrität:
- Zeilenintegrität
- Spaltenintegrität
- Referentielle Integrität
- Benutzerdefinierte Integrität
15. Was sind die benutzerdefinierten Funktionen? Benennen Sie die Typen benutzerdefinierter Funktionen.
Benutzerdefinierte Funktionen sind Funktionen, die speziell geschrieben wurden, um bei Bedarf eine bestimmte Logik zu verwenden. Diese Funktionen beseitigen die Notwendigkeit, dieselbe Logik mehrmals zu schreiben; Stattdessen können Sie bei Bedarf eine benutzerdefinierte Funktion aufrufen oder ausführen.
Es gibt drei Arten von benutzerdefinierten Funktionen:
- Skalare Funktionen.
- Inline-Tabellenwertfunktionen.
- Wertige Funktionen mit mehreren Anweisungen.
16. Sortierung definieren. Nennen Sie die verschiedenen Arten der Kollatierungsempfindlichkeit.
Sortierung bezieht sich auf eine Sammlung von Regeln, die bestimmen, wie Zeichendaten sortiert und verglichen werden. Neben der Definition der korrekten Zeichenfolge zum Sortieren der Zeichendaten enthält es Optionen zum Festlegen der Groß-/Kleinschreibung, Akzentzeichen, Kana-Zeichentypen und auch der Zeichenbreite.
Zu den verschiedenen Arten der Kollatierungsempfindlichkeit gehören:
- Groß-/Kleinschreibung – Die Zeichen „A“ und „a“ werden unterschiedlich behandelt.
- Akzentempfindlichkeit – Die Zeichen „a“ und „ a“ werden unterschiedlich behandelt.
- Kana-Empfindlichkeit – Dies behandelt japanische Kana-Zeichen wie Hiragana und Katakana unterschiedlich.
- Breitenempfindlichkeit – Dies behandelt Single-Byte-Zeichen (halbe Breite) und Double-Byte-Zeichen (volle Breite) unterschiedlich.
17. Was meinen Sie mit gespeicherter Prozedur?
Eine gespeicherte Prozedur ist eine Unterroutine (SQL-Code), die für Anwendungen verwendet wird, die auf RDBMS zugreifen. Es unterstützt das modulare Programmierkonzept, d. h. Sie können eine gespeicherte Prozedur einmal erstellen und speichern und bei Bedarf mehrmals aufrufen.
Diese Prozeduren werden im Datenbankdatenwörterbuch gespeichert. Der Vorteil einer gespeicherten Prozedur besteht darin, dass sie eine schnellere Abfrageausführung ermöglicht. Dies reduziert nicht nur den Netzwerkverkehr, sondern bietet auch eine bessere Sicherheit für die Daten.
Ein weiterer Vorteil besteht darin, dass gespeicherte Prozeduren mit zusätzlichen Funktionen ausgestattet sind, da Benutzer, die nicht direkt auf die Daten zugreifen können, gespeicherte Prozeduren verwenden können, um Zugriff zu erhalten.
Es hat jedoch auch einen Nachteil – eine gespeicherte Prozedur kann nur in einer Datenbank ausgeführt werden und belegt normalerweise mehr Speicher auf dem Datenbankserver.
18. Unterscheiden Sie zwischen Ansichten und Tabellen.
Hier sind einige Unterschiede zwischen Ansichten und Tabellen:
- Ansichten beziehen sich auf eine aus einer Datenbank extrahierte virtuelle Tabelle, während eine Tabelle auf eine strukturierte Entität verweist, die eine begrenzte Anzahl von Spalten und eine unendliche Anzahl von Zeilen enthält.
- Ansichten können keine Daten selbst enthalten, während Tabellen Daten enthalten und in Datenbanken speichern.
- Mit Ansichten können Sie bestimmte Informationen abfragen, die in einigen wenigen unterschiedlichen Tabellen enthalten sind. Eine Tabelle enthält jedoch grundlegende Kundeninformationen zusammen mit Fällen von gekennzeichneten Objekten.
19. Temporäre Tabelle definieren. Wie können Sie eine erstellen?
Eine temporäre Tabelle ist eine Tabelle, die es Ihnen ermöglicht, Zwischenergebnisse zu speichern und zu verarbeiten. Diese Tabellen können automatisch gelöscht werden, wenn sie nicht mehr verwendet werden. Temporäre Tabellen sind praktisch für Situationen, in denen Sie temporäre Daten speichern müssen.
Die Syntax zum Erstellen einer temporären Tabelle lautet:
TABELLE ERSTELLEN #table_name();
Die folgende Abfrage erstellt eine temporäre Tabelle:
erstelle Tabelle #book(b_id int, b_cost int)
Jetzt werden wir die Datensätze einfügen.
in #Buchwerte einfügen (1.100)

in #Buchwerte einfügen(2.232)
wähle * aus #book
Lernen Sie Softwareentwicklungskurse online von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.
Einpacken
Wir hoffen, dass dieser Leitfaden mit Fragen und Antworten zu SQL-Interviews Ihnen dabei hilft, Ihre SQL-Wissensbasis zu stärken und zu erweitern.
Wenn Sie neugierig sind, etwas über SQL und mehr über Full-Stack-Entwicklung zu erfahren, sehen Sie sich das Executive PG-Programm von IIIT-B & upGrad in Full-Stack-Softwareentwicklung an, das für Berufstätige entwickelt wurde und mehr als 10 Fallstudien und Projekte sowie praktische praktische Übungen bietet Workshops, Mentoring mit Branchenexperten, 1-on-1 mit Branchenmentoren, mehr als 400 Stunden Lern- und Arbeitsassistenz bei Top-Unternehmen.
