top 90 sql interview questions
90 beliebtesten Fragen und Antworten zu SQL-Interviews:
Dies sind die häufigsten und nützlichsten SQL-Interviewfragen für Erstsemester und erfahrene Kandidaten. In diesem Artikel werden Grundlagen zu erweiterten SQL-Konzepten behandelt.
In diesen Fragen finden Sie eine schnelle Überarbeitung der wichtigsten SQL-Konzepte, bevor Sie zu einem Interview erscheinen.
Beste SQL-Interview-Fragen
Lasst uns beginnen.
F # 1) Was ist SQL?
Antworten: Structured Query Language SQL ist ein Datenbank-Tool, mit dem die Datenbank erstellt und auf sie zugegriffen werden kann, um Softwareanwendungen zu unterstützen.
F # 2) Was sind Tabellen in SQL?
Antworten: Die Tabelle ist eine Sammlung von Datensätzen und deren Informationen in einer einzigen Ansicht.
F # 3) Welche verschiedenen Arten von Anweisungen werden von SQL unterstützt?
Antworten:
Es gibt drei Arten von SQL-Anweisungen:
a) DDL (Data Definition Language): Es wird verwendet, um die Datenbankstruktur wie Tabellen zu definieren. Es enthält drei Anweisungen wie CREATE, ALTER und DROP.
Lesen Sie auch = >> MySQL Tutorial zum Erstellen von Tabellen
Einige der DDL-Befehle sind unten aufgeführt:
ERSTELLEN : Es wird zum Erstellen der Tabelle verwendet.
CREATE TABLE table_name column_name1 data_type(size), column_name2 data_type(size), column_name3 data_type(size),
ALTER: Die Tabelle ALTER wird zum Ändern des vorhandenen Tabellenobjekts in der Datenbank verwendet.
ALTER TABLE table_name ADD column_name datatype
ODER
ALTER TABLE table_name DROP COLUMN column_name
b) DML (Data Manipulation Language): Diese Anweisungen werden verwendet, um die Daten in Datensätzen zu bearbeiten. Häufig verwendete DML-Anweisungen sind INSERT, UPDATE und DELETE.
Die SELECT-Anweisung wird als teilweise DML-Anweisung verwendet, um alle oder relevante Datensätze in der Tabelle auszuwählen.
c) DCL (Data Control Language): Diese Anweisungen werden verwendet, um Berechtigungen wie GRANT- und REVOKE-Datenbankzugriffsberechtigungen für den jeweiligen Benutzer festzulegen .
F # 4) Wie verwenden wir die DISTINCT-Anweisung? Was nützt es?
Antworten: Die DISTINCT-Anweisung wird mit der SELECT-Anweisung verwendet. Wenn der Datensatz doppelte Werte enthält, wird die Anweisung DISTINCT verwendet, um verschiedene Werte unter doppelten Datensätzen auszuwählen.
Syntax:
SELECT DISTINCT column_name(s) FROM table_name;
F # 5) Welche unterschiedlichen Klauseln werden in SQL verwendet?
Antworten:
WHERE-Klausel: Diese Klausel wird verwendet, um die Bedingung zu definieren, nur die Datensätze zu extrahieren und anzuzeigen, die die angegebene Bedingung erfüllen.
Syntax:
SELECT column_name(s) FROM table_name WHERE condition;
GROUP BY-Klausel: Es wird mit der SELECT-Anweisung verwendet, um das Ergebnis der ausgeführten Abfrage unter Verwendung des darin angegebenen Werts zu gruppieren. Es stimmt den Wert mit dem Spaltennamen in Tabellen überein und gruppiert das Endergebnis entsprechend.
Weiterführende Literatur => MySQL Group By Tutorial
Syntax:
SELECT column_name(s) FROM table_name GROUP BY column_name;
HAVING-Klausel: Diese Klausel wird in Verbindung mit der GROUP BY-Klausel verwendet. Es wird auf jede Ergebnisgruppe oder das gesamte Ergebnis als einzelne Gruppe angewendet. Es ist der WHERE-Klausel sehr ähnlich, aber der einzige Unterschied besteht darin, dass Sie es nicht ohne die GROUP BY-Klausel verwenden können
Syntax:
SELECT column_name(s) FROM table_name GROUP BY column_name HAVING condition;
ORDER BY-Klausel: Diese Klausel wird verwendet, um die Reihenfolge der Abfrageausgabe entweder in aufsteigender (ASC) oder in absteigender (DESC) Reihenfolge zu definieren. Aufsteigend (ASC) ist als Standard festgelegt, aber absteigend (DESC) ist explizit festgelegt.
Syntax:
SELECT column_name(s) FROM table_name WHERE condition ORDER BY column_name ASC|DESC;
USING-Klausel: Die USING-Klausel wird bei der Arbeit mit SQL JOIN verwendet. Es wird verwendet, um die Gleichheit basierend auf Spalten zu überprüfen, wenn Tabellen verbunden werden. Es kann anstelle der ON-Klausel in JOIN verwendet werden.
Syntax:
SELECT column_name(s) FROM table_name JOIN table_name USING (column_name);
F # 6) Warum verwenden wir SQL-Einschränkungen? Welche Einschränkungen können wir beim Erstellen einer Datenbank in SQL verwenden?
Antworten: Einschränkungen werden verwendet, um die Regeln für alle Datensätze in der Tabelle festzulegen. Wenn Einschränkungen verletzt werden, kann die Aktion, die sie verursacht hat, abgebrochen werden.
Einschränkungen werden beim Erstellen der Datenbank selbst mit der Anweisung CREATE TABLE oder sogar nach dem einmaligen Erstellen der Tabelle mit der Anweisung ALTER TABLE definiert.
In SQL werden 5 Haupteinschränkungen verwendet, z
- NICHT NULL: Dies zeigt an, dass die Spalte einen Wert haben muss und nicht NULL bleiben darf.
- EINZIGARTIG: Diese Einschränkung wird verwendet, um sicherzustellen, dass jede Zeile und Spalte einen eindeutigen Wert hat und kein Wert in einer anderen Zeile oder Spalte wiederholt wird.
- PRIMÄRSCHLÜSSEL: Diese Einschränkung wird in Verbindung mit NOT NULL- und UNIQUE-Einschränkungen verwendet, z. B. für eine oder die Kombination mehrerer Spalten, um den bestimmten Datensatz mit einer eindeutigen Identität zu identifizieren.
- UNBEKANNTER SCHLÜSSEL: Es wird verwendet, um die referenzielle Integrität der Daten in der Tabelle sicherzustellen. Mit dem PRIMARY KEY wird der Wert in einer Tabelle mit einem anderen Wert abgeglichen.
- PRÜFEN: Es stellt sicher, ob der Wert in Spalten die angegebene Bedingung erfüllt.
F # 7) Welche verschiedenen JOINS werden in SQL verwendet?
Antworten:
Bei der Arbeit an mehreren Tabellen in SQL-Datenbanken werden 4 Haupttypen von Joins verwendet:
INNER JOIN: Es wird auch als SIMPLE JOIN bezeichnet, das alle Zeilen aus BEIDEN Tabellen zurückgibt, wenn mindestens eine übereinstimmende Spalte vorhanden ist.
Syntax:
SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON column_name1=column_name2;
Zum Beispiel,
In diesem Beispiel haben wir eine Tabelle Mitarbeiter mit folgenden Daten:
Der Name der zweiten Tabelle lautet Beitritt.
Geben Sie die folgende SQL-Anweisung ein:
SELECT Employee.Emp_id, Joining.Joining_Date FROM Employee INNER JOIN Joining ON Employee.Emp_id = Joining.Emp_id ORDER BY Employee.Emp_id;
Es werden 4 Datensätze ausgewählt. Ergebnisse sind:
Mitarbeiter und Aufträge Tabellen haben eine Übereinstimmung Kundennummer Wert.
LEFT JOIN (LEFT OUTER JOIN): Dieser Join gibt alle Zeilen aus der Tabelle LEFT und die übereinstimmenden Zeilen aus einer Tabelle RIGHT zurück .
Syntax:
SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON column_name1=column_name2;
Zum Beispiel,
In diesem Beispiel haben wir eine Tabelle Mitarbeiter mit folgenden Daten:
Der Name der zweiten Tabelle lautet Beitritt.
Geben Sie die folgende SQL-Anweisung ein:
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;
Es werden 4 Datensätze ausgewählt. Sie sehen die folgenden Ergebnisse:
RIGHT JOIN (RIGHT OUTER JOIN): Diese Verknüpfung gibt alle Zeilen aus der Tabelle RIGHT und die übereinstimmenden Zeilen aus der Tabelle LEFT zurück .
Syntax:
SELECT column_name(s) FROM table_name1 RIGHT JOIN table_name2 ON column_name1=column_name2;
Zum Beispiel,
In diesem Beispiel haben wir eine Tabelle Mitarbeiter mit folgenden Daten:
Der Name der zweiten Tabelle lautet Beitritt.
Geben Sie die folgende SQL-Anweisung ein:
SELECT Employee.Emp_id, Joining.Joining_Date FROM Employee RIGHT JOIN Joining ON Employee.Emp_id = Joining.Emp_id ORDER BY Employee.Emp_id;
Ausgabe:
Emp_id | Beitrittsdatum |
---|---|
E0012 | 18.04.2016 |
E0013 | 19.04.2016 |
E0014 | 01.05.2016 |
FULL JOIN (FULL OUTER JOIN): Diese Verknüpfung gibt alle Ergebnisse zurück, wenn eine Übereinstimmung entweder in der Tabelle RECHTS oder in der Tabelle LINKS vorliegt .
Syntax:
SELECT column_name(s) FROM table_name1 FULL OUTER JOIN table_name2 ON column_name1=column_name2;
Zum Beispiel,
In diesem Beispiel haben wir eine Tabelle Mitarbeiter mit folgenden Daten:
Der Name der zweiten Tabelle lautet Beitritt.
Geben Sie die folgende SQL-Anweisung ein:
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;
Es werden 8 Datensätze ausgewählt. Dies sind die Ergebnisse, die Sie sehen sollten.
ZU Lesen Sie auch => MySQL Join Tutorial
F # 8) Was sind Transaktionen und ihre Kontrollen?
Antworten: Eine Transaktion kann als die Sequenzaufgabe definiert werden, die auf logische Weise für Datenbanken ausgeführt wird, um bestimmte Ergebnisse zu erzielen. Vorgänge wie das Erstellen, Aktualisieren und Löschen von in der Datenbank ausgeführten Datensätzen stammen aus Transaktionen.
Mit einfachen Worten können wir sagen, dass eine Transaktion eine Gruppe von SQL-Abfragen bedeutet, die in Datenbankeinträgen ausgeführt werden.
Es gibt 4 Transaktionskontrollen wie
- VERPFLICHTEN : Es wird verwendet, um alle durch die Transaktion vorgenommenen Änderungen zu speichern.
- ROLLBACK : Es wird verwendet, um die Transaktion zurückzusetzen. Alle durch die Transaktion vorgenommenen Änderungen werden zurückgesetzt und die Datenbank bleibt wie zuvor.
- TRANSAKTION EINSTELLEN : Legen Sie den Namen der Transaktion fest.
- SPEICHERPUNKT: Es wird verwendet, um den Punkt festzulegen, an dem die Transaktion zurückgesetzt werden soll.
F # 9) Was sind die Eigenschaften der Transaktion?
Antworten: Die Eigenschaften der Transaktion werden als ACID-Eigenschaften bezeichnet. Diese sind:
- Atomizität : Gewährleistet die Vollständigkeit aller durchgeführten Transaktionen. Überprüft, ob jede Transaktion erfolgreich abgeschlossen wurde oder nicht. Wenn nicht, wird die Transaktion am Fehlerpunkt abgebrochen und die vorherige Transaktion wird in den Ausgangszustand zurückgesetzt, wenn Änderungen rückgängig gemacht werden.
- Konsistenz : Stellt sicher, dass alle durch erfolgreiche Transaktionen vorgenommenen Änderungen ordnungsgemäß in der Datenbank angezeigt werden.
- Isolation : Stellt sicher, dass alle Transaktionen unabhängig voneinander ausgeführt werden und Änderungen, die von einer Transaktion vorgenommen wurden, nicht auf andere übertragen werden.
- Haltbarkeit : Stellt sicher, dass die in der Datenbank mit festgeschriebenen Transaktionen vorgenommenen Änderungen auch nach einem Systemausfall bestehen bleiben.
F # 10) Wie viele Aggregatfunktionen sind in SQL verfügbar?
Antworten: SQL-Aggregatfunktionen ermitteln und berechnen Werte aus mehreren Spalten in einer Tabelle und geben einen einzelnen Wert zurück.
In SQL gibt es 7 Aggregatfunktionen:
- AVG (): Gibt den Durchschnittswert aus angegebenen Spalten zurück.
- ANZAHL(): Gibt die Anzahl der Tabellenzeilen zurück.
- MAX (): Gibt den größten Wert unter den Datensätzen zurück.
- MINDEST (): Gibt den kleinsten Wert unter den Datensätzen zurück.
- SUMME(): Gibt die Summe der angegebenen Spaltenwerte zurück.
- ZUERST(): Gibt den ersten Wert zurück.
- LETZTE(): Gibt den letzten Wert zurück.
F # 11) Was sind Skalarfunktionen in SQL?
Antworten: Skalarfunktionen werden verwendet, um einen einzelnen Wert basierend auf den Eingabewerten zurückzugeben.
Skalarfunktionen sind wie folgt:
- UCASE (): Konvertiert das angegebene Feld in Großbuchstaben.
- LCASE (): Konvertiert das angegebene Feld in Kleinbuchstaben.
- MID (): Extrahiert und gibt Zeichen aus dem Textfeld zurück.
- FORMAT(): Gibt das Anzeigeformat an.
- LEN (): Gibt die Länge des Textfelds an.
- RUNDEN(): Rundet den Dezimalfeldwert auf eine Zahl auf.
F # 12) Was sind Auslöser? ?
Antworten: Trigger in SQL sind gespeicherte Prozeduren, mit denen eine Antwort auf eine bestimmte in der Tabelle ausgeführte Aktion wie INSERT, UPDATE oder DELETE erstellt wird. Sie können Trigger explizit für die Tabelle in der Datenbank aufrufen.
Aktion und Ereignis sind zwei Hauptkomponenten von SQL-Triggern. Wenn bestimmte Aktionen ausgeführt werden, tritt das Ereignis als Reaktion auf diese Aktion auf.
Syntax:
CREATE TRIGGER name BEFORE (event (OR..)} ON table_name (FOR (EACH) ROW) EXECUTE PROCEDURE functionname {arguments}
F # 13) Was ist View in SQL?
Antworten: Eine Ansicht kann als virtuelle Tabelle definiert werden, die Zeilen und Spalten mit Feldern aus einer oder mehreren Tabellen enthält.
S. yntax:
CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
F # 14) Wie können wir die Ansicht aktualisieren?
Antworten: SQL CREATE und REPLACE können zum Aktualisieren der Ansicht verwendet werden.
Führen Sie die folgende Abfrage aus, um die erstellte Ansicht zu aktualisieren.
Syntax:
CREATE OR REPLACE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
F # 15) Erläutern Sie die Funktionsweise von SQL-Berechtigungen.
Antworten: SQL GRANT- und REVOKE-Befehle werden verwendet, um Berechtigungen in SQL-Umgebungen mit mehreren Benutzern zu implementieren. Der Administrator der Datenbank kann Benutzern von Datenbankobjekten mithilfe von Befehlen wie SELECT, INSERT, UPDATE, DELETE, ALL usw. Berechtigungen erteilen oder widerrufen.
GRANT-Befehl : Dieser Befehl wird verwendet, um anderen Benutzern als dem Administrator Datenbankzugriff zu gewähren.
Syntax:
GRANT privilege_name ON object_name TO PUBLIC (WITH GRANT OPTION);
In der obigen Syntax gibt die Option GRANT an, dass der Benutzer auch einem anderen Benutzer Zugriff gewähren kann.
Befehl REVOKE : Dieser Befehl wird verwendet, um den Zugriff auf Datenbankobjekte zu verweigern oder zu entfernen.
Syntax:
REVOKE privilege_name ON object_name FROM PUBLIC;
F # 16) Wie viele Arten von Berechtigungen sind in SQL verfügbar?
Antworten: In SQL werden zwei Arten von Berechtigungen verwendet, z
- Systemprivilegien: Das Systemprivileg behandelt das Objekt eines bestimmten Typs und bietet Benutzern das Recht, eine oder mehrere Aktionen darauf auszuführen. Diese Aktionen umfassen das Ausführen von Verwaltungsaufgaben, ALTER ANY INDEX, ALTER ANY CACHE GROUP CREATE / ALTER / DELETE TABLE, CREATE / ALTER / DELETE VIEW usw.
- Objektprivileg: Dies ermöglicht das Ausführen von Aktionen für ein Objekt oder ein Objekt eines anderen Benutzers, nämlich. Tabelle, Ansicht, Indizes usw. Einige der Objektberechtigungen sind EXECUTE, INSERT, UPDATE, DELETE, SELECT, FLUSH, LOAD, INDEX, REFERENCES usw.
F # 17) Was ist SQL Injection?
Antworten: SQL Injection ist eine Art Datenbankangriffstechnik, bei der böswillige SQL-Anweisungen so in ein Eingabefeld der Datenbank eingefügt werden, dass die Datenbank nach ihrer Ausführung einem Angreifer für den Angriff ausgesetzt ist. Diese Technik wird normalerweise verwendet, um datengesteuerte Anwendungen anzugreifen, um Zugriff auf vertrauliche Daten zu erhalten und Verwaltungsaufgaben für Datenbanken auszuführen.
Zum Beispiel,
SELECT column_name(s) FROM table_name WHERE condition;
F # 18) Was ist SQL Sandbox in SQL Server?
Antworten: SQL Sandbox ist ein sicherer Ort in der SQL Server-Umgebung, an dem nicht vertrauenswürdige Skripts ausgeführt werden. Es gibt drei Arten von SQL-Sandboxen:
- Sandbox für sicheren Zugriff: Hier kann ein Benutzer SQL-Operationen wie das Erstellen gespeicherter Prozeduren, Trigger usw. ausführen, jedoch keinen Zugriff auf den Speicher haben und keine Dateien erstellen.
- Sandbox für externen Zugriff: Benutzer können auf Dateien zugreifen, ohne das Recht zu haben, die Speicherzuordnung zu ändern.
- Sandbox für unsicheren Zugriff: Dieser enthält nicht vertrauenswürdige Codes, auf die ein Benutzer Zugriff auf den Speicher haben kann.
F # 19) Was ist der Unterschied zwischen SQL und PL / SQL?
Antworten: SQL ist eine strukturierte Abfragesprache zum Erstellen und Zugreifen auf Datenbanken, während PL / SQL prozedurale Konzepte für Programmiersprachen enthält.
F # 20) Was ist der Unterschied zwischen SQL und MySQL?
Antworten: SQL ist eine strukturierte Abfragesprache, die zum Bearbeiten und Zugreifen auf die relationale Datenbank verwendet wird. Andererseits ist MySQL selbst eine relationale Datenbank, die SQL als Standarddatenbanksprache verwendet.
F # 21) Wozu dient die NVL-Funktion?
Antworten: Die NVL-Funktion wird verwendet, um den Nullwert in seinen tatsächlichen Wert umzuwandeln.
F # 22) Was ist das kartesische Produkt der Tabelle?
Antworten: Die Ausgabe von Cross Join wird als kartesisches Produkt bezeichnet. Es gibt Zeilen zurück, die jede Zeile aus der ersten Tabelle mit jeder Zeile der zweiten Tabelle kombinieren. Zum Beispiel, Wenn wir zwei Tabellen mit 15 und 20 Spalten verbinden, beträgt das kartesische Produkt zweier Tabellen 15 × 20 = 300 Zeilen.
F # 23) Was meinst du mit Unterabfrage?
Antworten: Die Abfrage innerhalb einer anderen Abfrage wird als Unterabfrage bezeichnet. Eine Unterabfrage wird als innere Abfrage bezeichnet und gibt eine Ausgabe zurück, die von einer anderen Abfrage verwendet werden soll.
F # 24) Wie viele Zeilenvergleichsoperatoren werden beim Arbeiten mit einer Unterabfrage verwendet?
Antworten: Es gibt dreizeilige Vergleichsoperatoren, die in Unterabfragen wie IN, ANY und ALL verwendet werden.
F # 25) Was ist der Unterschied zwischen gruppierten und nicht gruppierten Indizes?
Antwort: Die Unterschiede zwischen den beiden sind wie folgt:
- Eine Tabelle kann nur einen Clustered-Index, aber mehrere Nicht-Clustered-Indizes haben.
- Clustered-Indizes können schnell gelesen werden, anstatt nicht-Clustered-Indizes.
- Clustered-Indizes speichern Daten physisch in der Tabelle oder Ansicht, während nicht-Clustered-Indizes keine Daten in der Tabelle speichern, da sie eine von der Datenzeile getrennte Struktur aufweisen.
F # 26) Was ist der Unterschied zwischen DELETE und TRUNCATE?
Antwort: Die Unterschiede sind:
- Der grundlegende Unterschied zwischen beiden besteht darin, dass der Befehl DELETE der Befehl DML und der Befehl TRUNCATE DDL ist.
- Mit dem Befehl DELETE wird eine bestimmte Zeile aus der Tabelle gelöscht, während mit dem Befehl TRUNCATE alle Zeilen aus der Tabelle entfernt werden.
- Wir können den Befehl DELETE mit der WHERE-Klausel verwenden, aber nicht den Befehl TRUNCATE damit.
F # 27) Was ist der Unterschied zwischen DROP und TRUNCATE?
Antworten: TRUNCATE entfernt alle Zeilen aus der Tabelle, die nicht zurückgerufen werden können. DROP entfernt die gesamte Tabelle aus der Datenbank und kann auch nicht zurückgerufen werden.
F # 28) Wie schreibe ich eine Abfrage, um die Details eines Schülers aus der Schülertabelle anzuzeigen, dessen
Name mit K beginnen?
Antwort: Frage:
SELECT * FROM Student WHERE Student_Name like ‘K%’;
Hier wird der 'Gefällt mir' -Operator verwendet, um einen Mustervergleich durchzuführen.
F # 29) Was ist der Unterschied zwischen verschachtelter Unterabfrage und korrelierter Unterabfrage?
Antworten: Eine Unterabfrage innerhalb einer anderen Unterabfrage wird als verschachtelte Unterabfrage bezeichnet. Wenn die Ausgabe einer Unterabfrage von den Spaltenwerten der übergeordneten Abfragetabelle abhängt, wird die Abfrage als korrelierte Unterabfrage bezeichnet.
SELECT adminid(SELEC Firstname+' '+Lastname FROM Employee WHERE empid=emp. adminid)AS EmpAdminId FROM Employee;
Das Ergebnis der Abfrage sind die Details eines Mitarbeiters aus der Employee-Tabelle.
F # 30) Was ist Normalisierung? Wie viele Normalisierungsformen gibt es?
Antworten: Die Normalisierung wird verwendet, um die Daten so zu organisieren, dass niemals Datenredundanz in der Datenbank auftritt und Anomalien beim Einfügen, Aktualisieren und Löschen vermieden werden.
Es gibt 5 Formen der Normalisierung:
- Erste Normalform (1NF): Es werden alle doppelten Spalten aus der Tabelle entfernt. Es erstellt eine Tabelle für verwandte Daten und identifiziert eindeutige Spaltenwerte.
- Erste Normalform (2NF): Folgt 1NF und erstellt und platziert Datenuntermengen in einer einzelnen Tabelle und definiert die Beziehung zwischen Tabellen mithilfe des Primärschlüssels.
- Dritte Normalform (3NF): Folgt 2NF und entfernt die Spalten, die nicht über den Primärschlüssel verknüpft sind.
- Vierte Normalform (4NF): Folgt 3NF und definiert keine mehrwertigen Abhängigkeiten. 4NF ist auch als BCNF bekannt.
F # 31) Was ist eine Beziehung? Wie viele Arten von Beziehungen gibt es?
Antworten: Die Beziehung kann als Verbindung zwischen mehr als einer Tabelle in der Datenbank definiert werden.
Es gibt 4 Arten von Beziehungen:
- Eins zu eins Beziehung
- Viele zu einer Beziehung
- Viele zu viele Beziehungen
- Eins zu viele Beziehung
F # 32) Was meinen Sie mit gespeicherten Prozeduren? Wie benutzen wir es?
Antworten: Eine gespeicherte Prozedur ist eine Sammlung von SQL-Anweisungen, die als Funktion für den Zugriff auf die Datenbank verwendet werden können. Wir können diese gespeicherten Prozeduren früher erstellen, bevor wir sie verwenden, und sie ausführen, wo immer dies erforderlich ist, indem wir eine bedingte Logik darauf anwenden. Gespeicherte Prozeduren werden auch verwendet, um den Netzwerkverkehr zu reduzieren und die Leistung zu verbessern.
Syntax:
CREATE Procedure Procedure_Name ( //Parameters ) AS BEGIN SQL statements in stored procedures to update/retrieve records END
F # 33) Geben Sie einige Eigenschaften relationaler Datenbanken an?
Antwort: Die Eigenschaften sind wie folgt:
- In relationalen Datenbanken sollte jede Spalte einen eindeutigen Namen haben.
- Die Reihenfolge der Zeilen und Spalten in relationalen Datenbanken ist unbedeutend.
- Alle Werte sind atomar und jede Zeile ist eindeutig.
F # 34) Was sind verschachtelte Trigger?
Antworten: Trigger können Datenänderungslogik mithilfe der Anweisungen INSERT, UPDATE und DELETE implementieren. Diese Trigger, die Datenänderungslogik enthalten und andere Trigger für die Datenänderung finden, werden als verschachtelte Trigger bezeichnet.
F # 35) Was ist ein Cursor?
Antworten: Ein Cursor ist ein Datenbankobjekt, mit dem Daten zeilenweise bearbeitet werden.
Der Cursor folgt den folgenden Schritten:
- Cursor deklarieren
- Cursor öffnen
- Zeile aus dem Cursor abrufen
- Verarbeiten Sie die Zeile
- Cursor schließen
- Cursor freigeben
F # 36) Was ist Kollatierung?
Antworten: Die Sortierung ist eine Reihe von Regeln, die überprüfen, wie die Daten sortiert werden, indem sie verglichen werden. Beispielsweise werden Zeichendaten unter Verwendung der richtigen Zeichenfolge zusammen mit Groß- und Kleinschreibung, Typ und Akzent gespeichert.
F # 37) Was müssen wir beim Testen der Datenbank überprüfen?
Antworten: Beim Testen der Datenbank muss Folgendes getestet werden:
- Datenbankkonnektivität
- Einschränkungsprüfung
- Erforderliches Anwendungsfeld und dessen Größe
- Datenabruf und -verarbeitung mit DML-Operationen
- Gespeicherte Prozeduren
- Funktionsablauf
F # 38) Was ist ein Datenbank-White-Box-Test?
Antworten: Das Testen der Datenbank-White-Box umfasst:
- Eigenschaften der Datenbankkonsistenz und der ACID
- Datenbankauslöser und logische Ansichten
- Entscheidungsabdeckung, Zustandsabdeckung und Anweisungsabdeckung
- Datenbanktabellen, Datenmodell und Datenbankschema
- Regeln für die referenzielle Integrität
F # 39) Was ist ein Datenbank-Black-Box-Test?
Antworten: Das Testen der Datenbank-Black-Box umfasst:
- Datenzuordnung
- Daten gespeichert und abgerufen
- Verwendung von Black-Box-Testtechniken wie Äquivalenzpartitionierung und Grenzwertanalyse (BVA)
F # 40) Was sind Indizes in SQL?
Antworten: Der Index kann als die Möglichkeit definiert werden, die Daten schneller abzurufen. Wir können Indizes mit CREATE-Anweisungen definieren.
Syntax:
CREATE INDEX index_name ON table_name (column_name)
Außerdem können wir einen eindeutigen Index mit der folgenden Syntax erstellen:
CREATE UNIQUE INDEX index_name ON table_name (column_name)
AKTUALISIEREN:: Wir haben noch einige kurze Fragen für die Praxis hinzugefügt.
F # 41) Wofür steht SQL?
Antworten: SQL steht für Strukturierte Abfragesprache .
F # 42) Wie wähle ich alle Datensätze aus der Tabelle aus?
Antworten: Um alle Datensätze aus der Tabelle auszuwählen, müssen Sie die folgende Syntax verwenden:
Select * from table_name;
F # 43) Join definieren und verschiedene Arten von Joins benennen?
Antworten: Das Schlüsselwort Join wird verwendet, um Daten aus zwei oder mehr verwandten Tabellen abzurufen. Es werden Zeilen zurückgegeben, in denen mindestens eine Übereinstimmung in beiden im Join enthaltenen Tabellen vorhanden ist. Lesen Sie hier mehr .
Art der Verknüpfungen sind:
- Richtig beitreten
- Äußere Verbindung
- Vollständiger Join
- Cross Join
- Selbst beitreten.
F # 44) Wie lautet die Syntax zum Hinzufügen eines Datensatzes zu einer Tabelle?
Antworten: Zum Hinzufügen eines Datensatzes zu einer Tabelle wird die INSERT-Syntax verwendet.
Zum Beispiel,
INSERT into table_name VALUES (value1, value2..);
F # 45) Wie fügt man einer Tabelle eine Spalte hinzu?
Antworten: Verwenden Sie den folgenden Befehl, um der Tabelle eine weitere Spalte hinzuzufügen:
ALTER TABLE table_name ADD (column_name);
Empfohlene Lektüre = >> Gewusst wie Fügen Sie einer Tabelle eine Spalte hinzu in MySQL
F # 46) Definieren Sie die SQL DELETE-Anweisung.
Antworten: DELETE wird verwendet, um eine oder mehrere Zeilen aus einer Tabelle basierend auf der angegebenen Bedingung zu löschen.
Die grundlegende Syntax lautet wie folgt:
DELETE FROM table_name WHERE
F # 47) COMMIT definieren?
Antworten: COMMIT speichert alle durch DML-Anweisungen vorgenommenen Änderungen.
F # 48) Was ist der Primärschlüssel?
Antworten: Ein Primärschlüssel ist eine Spalte, deren Werte jede Zeile in einer Tabelle eindeutig identifizieren. Primärschlüsselwerte können niemals wiederverwendet werden.
F # 49) Was sind Fremdschlüssel?
Antworten: Wenn das Primärschlüsselfeld einer Tabelle zu verwandten Tabellen hinzugefügt wird, um das gemeinsame Feld zu erstellen, das die beiden Tabellen in Beziehung setzt, wird es in anderen Tabellen als Fremdschlüssel bezeichnet. Fremdschlüsseleinschränkungen erzwingen die referenzielle Integrität.
F # 50) Was ist die CHECK-Einschränkung?
Antworten: Eine CHECK-Einschränkung wird verwendet, um die Werte oder den Datentyp zu begrenzen, die in einer Spalte gespeichert werden können. Sie werden verwendet, um die Domänenintegrität zu erzwingen.
F # 51) Kann eine Tabelle mehr als einen Fremdschlüssel haben?
Antworten: Ja, eine Tabelle kann viele Fremdschlüssel enthalten, aber nur einen Primärschlüssel.
F # 52) Was sind die möglichen Werte für das BOOLEAN-Datenfeld?
Antworten: Für ein BOOLEAN-Datenfeld sind zwei Werte möglich: -1 (wahr) und 0 (falsch).
F # 53) Was ist eine gespeicherte Prozedur?
Antworten: Eine gespeicherte Prozedur ist eine Reihe von SQL-Abfragen, die Eingaben entgegennehmen und Ausgaben zurücksenden können.
F # 54) Was ist Identität in SQL?
Antworten: Eine Identitätsspalte, in der SQL automatisch numerische Werte generiert. Wir können einen Start- und Inkrementwert der Identitätsspalte definieren.
F # 55) Was ist Normalisierung?
Antworten: Der Prozess des Tabellenentwurfs zur Minimierung der Datenredundanz wird als Normalisierung bezeichnet. Wir müssen eine Datenbank in zwei oder mehr Tabellen aufteilen und die Beziehung zwischen ihnen definieren.
F # 56) Was ist ein Trigger?
Antworten: Mit dem Trigger können wir einen Stapel SQL-Code ausführen, wenn ein Tabellenereignis auftritt (INSERT-, UPDATE- oder DELETE-Befehle werden für eine bestimmte Tabelle ausgeführt).
F # 57) Wie wähle ich zufällige Zeilen aus einer Tabelle aus?
Antworten: Mit einer SAMPLE-Klausel können wir zufällige Zeilen auswählen.
Zum Beispiel,
SELECT * FROM table_name SAMPLE(10);
F # 58) Welchen TCP / IP-Port führt SQL Server aus?
Antworten: Standardmäßig wird SQL Server auf Port 1433 ausgeführt.
F # 59) Schreiben Sie eine SQL SELECT-Abfrage, die jeden Namen nur einmal aus einer Tabelle zurückgibt?
Antworten: Um das Ergebnis als jeden Namen nur einmal zu erhalten, müssen wir das Schlüsselwort DISTINCT verwenden.
SELECT DISTINCT name FROM table_name;
F # 60) DML und DDL erklären?
Antworten: DML steht für Data Manipulation Language. INSERT, UPDATE und DELETE sind DML-Anweisungen.
DDL steht für Data Definition Language. CREATE, ALTER, DROP, RENAME sind DDL-Anweisungen.
F # 61) Können wir eine Spalte in der Ausgabe der SQL-Abfrage umbenennen?
Antworten: Ja, mit der folgenden Syntax können wir dies tun.
SELECT column_name AS new_name FROM table_name;
F # 62) Geben Sie die Reihenfolge von SQL SELECT an?
Antworten: Die Reihenfolge der SQL SELECT-Klauseln lautet: SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY. Nur die Klauseln SELECT und FROM sind obligatorisch.
F # 63) Angenommen, eine Student-Spalte hat zwei Spalten, Name und Markierungen. So erhalten Sie Namen und Noten der drei besten Schüler.
Antworten: SELECT Name, Markierungen FROM Student s1 wobei 3<= (SELECT COUNT(*) FROM Students s2 WHERE s1.marks = s2.marks)
F # 64) Was sind SQL-Kommentare?
Antworten: SQL-Kommentare können durch Hinzufügen von zwei aufeinander folgenden Bindestrichen (-) eingefügt werden.
F # 65) Unterschied zwischen den Befehlen TRUNCATE, DELETE und DROP?
Antworten:
B-Baum gegen B + Baum
- LÖSCHEN Entfernt einige oder alle Zeilen basierend auf der Bedingung aus einer Tabelle. Es kann zurückgerollt werden.
- KÜRZEN Entfernt ALLE Zeilen aus einer Tabelle, indem die Zuordnung der Speicherseiten aufgehoben wird. Der Vorgang kann nicht zurückgesetzt werden
- FALLEN Befehl entfernt eine Tabelle vollständig aus der Datenbank.
F # 66) Was sind die Eigenschaften einer Transaktion?
Antworten: Im Allgemeinen werden diese Eigenschaften als ACID-Eigenschaften bezeichnet. Sie sind:
- Atomizität
- Konsistenz
- Isolation
- Haltbarkeit.
F # 67) Was meinst du mit ROWID?
Antworten: Es handelt sich um eine 18 Zeichen lange Pseudospalte, die an jede Zeile einer Tabelle angehängt ist.
F # 68) UNION, MINUS, UNION ALL, INTERSECT definieren?
Antworten:
- MINUS - gibt alle unterschiedlichen Zeilen zurück, die von der ersten Abfrage ausgewählt wurden, jedoch nicht von der zweiten.
- UNION - gibt alle unterschiedlichen Zeilen zurück, die von einer der Abfragen ausgewählt wurden
- UNION ALL - gibt alle von beiden Abfragen ausgewählten Zeilen zurück, einschließlich aller Duplikate.
- SCHNEIDEN - gibt alle unterschiedlichen Zeilen zurück, die von beiden Abfragen ausgewählt wurden.
F # 69) Was ist eine Transaktion?
Antworten: Eine Transaktion ist eine Codesequenz, die für eine Datenbank ausgeführt wird. Es nimmt die Datenbank von einem konsistenten Zustand in einen anderen.
F # 70) Was ist der Unterschied zwischen UNIQUE- und PRIMARY KEY-Einschränkungen?
Antwort: Die Unterschiede sind wie folgt:
- Eine Tabelle kann nur einen PRIMARY KEY haben, während es eine beliebige Anzahl von UNIQUE-Schlüsseln geben kann.
- Der Primärschlüssel darf keine Nullwerte enthalten, während der Eindeutige Schlüssel Nullwerte enthalten kann.
F # 71) Was ist ein zusammengesetzter Primärschlüssel?
Antworten: Der in mehr als einer Spalte erstellte Primärschlüssel wird als zusammengesetzter Primärschlüssel bezeichnet.
F # 72) Was ist ein Index?
Antworten: Ein Index ist eine spezielle Struktur, die einer Tabelle zugeordnet ist, um die Leistung von Abfragen zu beschleunigen. Der Index kann für eine oder mehrere Spalten einer Tabelle erstellt werden.
F # 73) Was ist die Unterabfrage?
Antworten: Eine Unterabfrage ist eine Teilmenge von select-Anweisungen, deren Rückgabewerte in den Filterbedingungen der Hauptabfrage verwendet werden.
F # 74) Was meinen Sie mit Abfrageoptimierung?
Antworten: Die Abfrageoptimierung ist ein Prozess, bei dem ein Datenbanksystem verschiedene Abfragestrategien vergleicht und die Abfrage mit den geringsten Kosten auswählt.
F # 75) Was ist Kollatierung?
Antworten: Regelwerk, das definiert, wie Daten gespeichert werden, wie Groß- und Kleinschreibung und Kana-Zeichen behandelt werden können usw.
F # 76) Was ist referenzielle Integrität?
Antworten: Regelsatz, der die Werte einer oder mehrerer Spalten der Tabellen basierend auf den Werten des Primärschlüssels oder des eindeutigen Schlüssels der referenzierten Tabelle einschränkt.
F # 77) Was ist die Case-Funktion?
Antworten: Fall erleichtert die Wenn-Dann-Sonst-Logik in SQL. Es wertet eine Liste von Bedingungen aus und gibt einen der mehreren möglichen Ergebnisausdrücke zurück.
F # 78) Eine temporäre Tabelle definieren?
Antworten: Eine temporäre Tabelle ist eine temporäre Speicherstruktur zum temporären Speichern der Daten.
F # 79) Wie können wir vermeiden, dass Datensätze in einer Abfrage dupliziert werden?
Antworten: Durch die Verwendung des Schlüsselworts DISTINCT kann das Duplizieren von Datensätzen in einer Abfrage vermieden werden.
F # 80) Erklären Sie den Unterschied zwischen Umbenennen und Alias?
Antworten: Umbenennen ist ein dauerhafter Name für eine Tabelle oder Spalte, während Alias ein temporärer Name für eine Tabelle oder Spalte ist.
F # 81) Was ist eine Ansicht?
Antworten: Eine Ansicht ist eine virtuelle Tabelle, die Daten aus einer oder mehreren Tabellen enthält. Ansichten beschränken den Datenzugriff auf die Tabelle, indem sie nur die erforderlichen Werte auswählen und komplexe Abfragen vereinfachen.
F # 82) Was sind die Vorteile von Ansichten?
Antwort: Vorteile von Ansichten sind:
- Ansichten beschränken den Zugriff auf die Daten, da in der Ansicht ausgewählte Spalten aus der Tabelle angezeigt werden können.
- Mit Ansichten können einfache Abfragen durchgeführt werden, um die Ergebnisse komplizierter Abfragen abzurufen. Zum Beispiel, Ansichten können verwendet werden, um Informationen aus mehreren Tabellen abzufragen, ohne dass der Benutzer dies weiß.
F # 83) Listen Sie die verschiedenen Berechtigungen auf, die ein Benutzer einem anderen Benutzer gewähren kann.
Antworten: AUSWÄHLEN, VERBINDEN, RESSOURCEN.
F # 84) Was ist ein Schema?
Antworten: Ein Schema ist eine Sammlung von Datenbankobjekten eines Benutzers.
F # 85) Was ist eine Tabelle?
Antworten: Eine Tabelle ist die Grundeinheit der Datenspeicherung im Datenbankverwaltungssystem. Tabellendaten werden in Zeilen und Spalten gespeichert.
F # 86) Enthält View Daten?
Antworten: Nein, Ansichten sind virtuelle Strukturen.
F # 87) Kann eine Ansicht auf einer anderen Ansicht basieren?
Antworten: Ja, eine Ansicht basiert auf einer anderen Ansicht.
F # 88) Was ist der Unterschied zwischen der HAVING-Klausel und der WHERE-Klausel?
Antworten: Beide geben eine Suchbedingung an, aber die Have-Klausel wird nur mit der SELECT-Anweisung und normalerweise mit der GROUP BY-Klausel verwendet.
Wenn die GROUP BY-Klausel nicht verwendet wird, hat sie sich nur wie die WHERE-Klausel verhalten.
F # 89) Was ist der Unterschied zwischen lokalen und globalen temporären Tabellen?
Antworten: Wenn in einer zusammengesetzten Anweisung definiert, existiert eine lokale temporäre Tabelle nur für die Dauer dieser Anweisung, aber eine globale temporäre Tabelle ist permanent in der Datenbank vorhanden, aber ihre Zeilen verschwinden, wenn die Verbindung geschlossen wird.
F # 90) Was ist CTE?
Antworten: Ein CTE- oder allgemeiner Tabellenausdruck ist ein Ausdruck, der eine temporäre Ergebnismenge enthält, die in einer SQL-Anweisung definiert ist.
Fazit
SQL ist ein wesentlicher Bestandteil des Datenbanksystems. Gute Kenntnisse der Datenbank sowie SQL-Konzepte sind auf jeden Fall von Vorteil, um das Interview für das betreffende Profil zu knacken.
Abgesehen von einigen wichtigen Konzepten gibt es einige versteckte Fakten, die unsichtbar bleiben und Ihre Leistung im Interview beeinflussen. In diesem Tutorial habe ich versucht, mich an einige dieser Konzepte zu erinnern, die klein erscheinen, aber nicht vernachlässigt werden sollten.
Wir hoffen, dass Sie in diesem Artikel Antworten auf die am häufigsten gestellten Fragen zu SQL-Interviews finden. Die Kenntnisse von SQL sind ein Muss für jeden Tester. Dieser Artikel hilft Ihnen bei der Vorbereitung des Interviews.
Weiterführende Literatur => Alles über Datenbanktests
Literatur-Empfehlungen
- Interview Fragen und Antworten
- Die wichtigsten Fragen zum Oracle-Interview: Fragen zu Oracle Basic, SQL, PL / SQL
- 30 wichtigsten Fragen und Antworten zu PL / SQL-Interviews im Jahr 2021
- Fragen und Antworten zum ETL-Testinterview
- Top Teradata Interview Fragen und Antworten
- Einige knifflige manuelle Testfragen und -antworten
- 25 Fragen und Antworten zu den besten Agile Testing-Interviews
- Spock Interview Fragen mit Antworten (am beliebtesten)