Die 20 häufigsten Fragen und Antworten zu SQL-Abfragen in Vorstellungsgesprächen [Für Neueinsteiger und Erfahrene]
Veröffentlicht: 2021-07-14Nehmen Sie an einem SQL-Interview teil und fragen Sie sich, welche Fragen und Diskussionen Sie durchlaufen werden? Bevor Sie an einem SQL-Interview teilnehmen, ist es besser, eine Vorstellung davon zu haben, welche Arten von SQL-Interviewfragen gestellt werden, damit Sie die Antworten darauf mental vorbereiten können.
Um Ihnen zu helfen, habe ich den besten Leitfaden für Fragen und Antworten zu SQL-Interviews erstellt, um die Tiefe und die wahre Absicht von SQL-Interviewfragen zu verstehen. Lass uns anfangen.
Structured Query Language (SQL) ist eine beliebte und weit verbreitete Programmiersprache zum Verwalten, Bearbeiten und Abfragen von Daten in relationalen Datenbanken. Obwohl SQL nicht gerade die schnellste Sprache für die Kommunikation mit relationalen Datenbanken ist, ist es zweifellos das effizienteste Mittel zum Umgang mit strukturierten Daten.
Im Vergleich zu herkömmlichen Read-Write-APIs wie ISAM oder VSAM bietet SQL zwei Hauptvorteile:
- Sie können mit einem einzigen Befehl auf mehrere Datensätze zugreifen.
- Es entfällt die Notwendigkeit, festzulegen, wie auf einen Datensatz von einer Datenbank aus zugegriffen werden soll (ob ein Index verwendet werden soll oder nicht).
Eine SQL-Abfrage ist eine Frage oder Anforderung für den Zugriff auf Daten, die in einer Datenbank gespeichert sind. Eine Datenbank speichert Informationen in tabellarischer Form. Es enthält also Zeilen und Spalten. Während die Datenbankfelder die Spalten bilden, die der Datenbank mitteilen, welche Informationen sie speichern kann, enthalten die Zeilen die Daten. Hier ist ein Beispieldatensatz namens „tblAlbum“, um die Dinge ins rechte Licht zu rücken:
Quelle
Lassen Sie uns eine SQL-Abfrage mit diesen Beispieldaten erstellen. Wir konzentrieren uns darauf, nur die Alben mit einer Bewertung von 9 oder höher auszuwählen. Wir bitten also die Abfrage im Wesentlichen, eine Liste von Albumtiteln aus der Datenbank mit einer Bewertung gleich oder größer als 9 zu erstellen. Sie verwenden relevante Schlüsselwörter, um die gewünschte Antwort zu erhalten.
Die Schlüsselwörter in diesem Szenario sind – SELECT (diktiert, Informationen aus der Datenbank abzurufen), FROM (die spezifische Tabelle, die die besagten Daten enthält) und WHERE (diktiert die Kriterien für den Zugriff auf die Informationen). Wenn Sie diese Schlüsselwörter verwenden, sieht Ihre SQL-Abfrage wie folgt aus:
Albumtitel AUS tblAlbums AUSWÄHLEN
WHERE Bewertung >= 9;
Sie wählen (AUSWÄHLEN) also die Daten aus (FROM) der Tabelle „tblAlbums“, wobei (WO) die Albumbewertung 9 oder höher ist. Die WHERE-Anweisung kann entweder sehr einfach oder übermäßig komplex sein, wenn eine beträchtliche Menge an verschachtelter Logik beteiligt ist. Beim Ausführen der Abfrage erhalten Sie das folgende Ergebnis:
Albumtitel
Sinfonie in d-Moll
Das Herz des Dichters
Nachdem Sie nun ein grundlegendes Verständnis davon haben, was SQL-Abfragen sind und wie sie funktionieren, sehen wir uns zwanzig Interviewfragen zu SQL-Abfragen an!
Bevor wir mit den Interviewfragen zur SQL-Abfrage beginnen, sehen Sie sich diese Referenztabellen an – unsere Abfragen basieren auf diesen Tabellen.
EmployeeInfo-Tabelle:
EmpID | EmpFname | Arbeitgebername | Abteilung | Projekt | Adresse | Geburtsdatum | Geschlecht |
1 | Rohit | Gupta | Administrator | P1 | Delhi | 12.02.1979 | Männlich |
2 | Raul | Mahajan | Administrator | P2 | Mumbai | 10.10.1986 | Männlich |
3 | Sonja | Banerjee | HR | P3 | Pune | 06.05.1983 | Weiblich |
4 | Ankita | Kapoor | HR | P4 | Chennai | 28.11.1983 | Weiblich |
5 | Schwati | Garg | HR | P5 | Delhi | 04.06.1991 | Weiblich |
EmployeePosition-Tabelle:
EmpID | Anstellung | Beitrittsdatum | Gehalt |
1 | Exekutive | 01.04.2020 | 75000 |
2 | Manager | 03.04.2020 | 500000 |
3 | Manager | 04.02.2020 | 150000 |
2 | Offizier | 04.02.2020 | 90000 |
1 | Manager | 03.04.2020 | 300000 |
Fragen und Antworten zu Interviews mit SQL-Abfragen
- Schreiben Sie eine Abfrage, um den EmpFname aus der EmployeeInfo-Tabelle in Großbuchstaben zu erhalten, indem Sie den Aliasnamen als EmpName verwenden.
Die Abfrage für diese Bedingung lautet:
SELECT UPPER (EmpFname) AS EmpName VON EmployeeInfo;
- Schreiben Sie eine Abfrage, um die Anzahl der Mitarbeiter zu erhalten, die in der Abteilung „HR“ arbeiten.
Hier ist die Abfrage für diese Anforderung:
SELECT COUNT(*) FROM EmployeeInfo WHERE Department = 'HR';
- Welche Abfrage werden Sie schreiben, um das aktuelle Datum abzurufen?
Um das aktuelle Datum abzurufen, können Sie diese Abfrage in den SQL-Server schreiben:
GETDATE();
Um das aktuelle Datum abzurufen, können Sie diese Abfrage in MySQL schreiben:
SYSTDATE();
- Schreiben Sie eine Abfrage, um nur den Ortsnamen (Zeichenfolge vor Klammern) aus der Spalte Adresse der Tabelle EmployeeInfo abzurufen.
Sie können die MID-Funktion in MySQL verwenden, um die folgende Abfrage zu erstellen:
SELECT MID(Adresse, 0, LOCATE('(',Adresse)) FROM EmployeeInfo;
Sie können SUBSTRING verwenden, um die folgende Abfrage zu erstellen:
SELECT SUBSTRING(Adresse, 1, CHARINDEX('(',Adresse)) FROM EmployeeInfo;
Weiterlesen: SQL für Data Science: Warum SQL
- Schreiben Sie eine Abfrage, um eine neue Tabelle zu erstellen, deren Daten und Struktur aus einer anderen Tabelle kopiert werden.
Sie können den Befehl SELECT INTO verwenden, um die folgende Abfrage zu erstellen:
SELECT * INTO NewTable VON EmployeeInfo WHERE 1 = 0;
Sie können den CREATE-Befehl in MySQL verwenden, um die folgende Abfrage zu erstellen:
CREATE TABLE NewTable AS SELECT * FROM EmployeeInfo;
- Schreiben Sie eine Abfrage, um die Namen von Mitarbeitern anzuzeigen, die mit „S“ beginnen.
Dies ist die Abfrage, die Sie schreiben müssen, um die Namen der Mitarbeiter zu erhalten, deren Namen mit „S“ beginnen:
SELECT * FROM EmployeeInfo WHERE EmpFname LIKE 'S%';
- Schreiben Sie eine Abfrage, um die obersten N Datensätze abzurufen.
Sie können eine Abfrage mit dem TOP-Befehl in SQL Server schreiben:
SELECT TOP N * FROM EmployeePosition ORDER BY Salary DESC;
Sie können eine Abfrage auch mit dem LIMIT-Befehl in MySQL erstellen:
SELECT * FROM EmpPosition ORDER BY Salary DESC LIMIT N;
- Schreiben Sie eine Abfrage, um relevante Datensätze aus der EmployeeInfo-Tabelle abzurufen, sortiert nach Department in aufsteigender Reihenfolge und EmpLname in absteigender Reihenfolge.
Zu diesem Zweck müssen Sie die Anweisung ORDER BY in SQL verwenden;
SELECT * FROM EmployeeInfo ORDER BY Abteilung asc, EmpFname desc;
- Schreiben Sie eine Abfrage, um die Details von Mitarbeitern zu erhalten, deren EmpFname mit 'A' endet.
Sie können den LIKE-Operator in SQL verwenden, um eine Abfrage für dieses Problem zu erstellen:
SELECT * FROM EmployeeInfo WHERE EmpFname LIKE '____a';
10.Erstellen Sie eine Abfrage, um Details von Mitarbeitern abzurufen, deren Adresse „DELHI“ ist.
SELECT * FROM EmployeeInfo WHERE Adresse LIKE 'DELHI%';
Lesen Sie: Top 9 Data Science Tools im Jahr 2020
- Schreiben Sie eine Abfrage, um alle Mitarbeiter abzurufen, die auch die Führungsposition innehaben.
Kein Frage-und-Antwort-Leitfaden für SQL-Interviews wird ohne diese Frage vollständig sein.
Hier ist die Abfrage, um die Mitarbeiter zu erhalten, die die Führungsposition innehaben:
WÄHLEN Sie E.EmpFname, E.EmpLname, P.EmpPosition
FROM EmployeeInfo E INNER JOIN EmployeePosition P ON
E.EmpID = P.EmpID UND P.EmpPosition IN ('Manager');
- Erstellen Sie eine Abfrage, um die ersten und letzten Datensätze aus der EmployeeInfo-Tabelle zu generieren.
Eine der häufigsten SQL-Interviewfragen.
Hier ist die Abfrage zum Abrufen des ersten Datensatzes aus der EmployeeInfo-Tabelle:
SELECT * FROM EmployeeInfo WHERE EmpID = (SELECT MIN(EmpID) FROM EmployeeInfo);
Hier ist die Abfrage zum Abrufen des letzten Datensatzes aus der EmployeeInfo-Tabelle:
SELECT * FROM EmployeeInfo WHERE EmpID = (SELECT MAX(EmpID) FROM EmployeeInfo);
- Erstellen Sie eine Abfrage, um zu überprüfen, ob der an die Abfrage übergebene Wert dem Datumsformat der Tabellen EmployeeInfo und EmployeePosition entspricht.
Sie können die Funktion IsDate() in SQL verwenden, um zu prüfen, ob der übergebene Wert dem angegebenen Format entspricht oder nicht. Es gibt entsprechend 1 (wahr) oder 0 (falsch) zurück. So sieht die Abfrage aus:
SELECT ISDATE('01/04/2020') AS "MM/DD/YY";
Die Ausführung dieser Abfrage gibt 0 zurück, da der übergebene Wert nicht dem angegebenen Format entspricht.
- Erstellen Sie eine Abfrage, um Mitarbeiter anzuzeigen, deren Gehälter gleich oder größer als 150000 sind.
Die Abfrage für diese Anfrage lautet:
SELECT EmpName FROM Employees WHERE Salary>=150000;
- Schreiben Sie eine Abfrage, um das Jahr mithilfe eines Datums abzurufen.
Sie können das Jahr aus einem Datum in einem SQL-Server abrufen, indem Sie die folgende Abfrage ausführen:
SELECT YEAR(GETDATE()) als „Jahr“;
- Erstellen Sie eine SQL-Abfrage, um EmpPostion und das für jede Mitarbeiterposition gezahlte Gesamtgehalt abzurufen.
Die Abfrage für diese Anfrage lautet:
SELECT EmpPosition, SUM(Gehalt) von EmployeePosition GROUP BY EmpPosition;
- Schreiben Sie eine Abfrage, um doppelte Datensätze in einer Tabelle zu finden.
Eine der häufigsten Fragen in allen Frage- und Antwortleitfäden für SQL-Interviews.
SELECT EmpID, EmpFname, Abteilung COUNT(*)
FROM EmployeeInfo GROUP BY EmpID, EmpFname, Abteilung
MIT ANZAHL (*) > 1;
- Erstellen Sie eine Abfrage, um das dritthöchste Gehalt aus der EmpPosition-Tabelle abzurufen.
WÄHLEN SIE TOP 1 Gehalt
VON(
TOP 3 Gehalt WÄHLEN
VON mitarbeiter_tabelle
ORDER BY Gehalt DESC) AS emp
ORDER NACH Gehalt ASC;
- Schreiben Sie eine SQL-Abfrage, um gerade und ungerade Datensätze in der EmployeeInfo-Tabelle zu finden.
Sie müssen die MOD()-Funktion verwenden, um die geraden und ungeraden Datensätze aus einer Tabelle abzurufen. Für gerade Datensätze lautet die Abfrage:
SELECT EmpID FROM (SELECT rowno, EmpID from EmployeeInfo) WHERE MOD(rowno,2)=0;
Für ungerade Datensätze lautet die Abfrage:
SELECT EmpID FROM (SELECT rowno, EmpID from EmployeeInfo) WHERE MOD(rowno,2)=1;
- Erstellen Sie eine Abfrage, um die Liste der Mitarbeiter derselben Abteilung abzurufen.
Hier ist die Abfrage für diese Anfrage:
Wählen Sie DISTINCT E.EmpID, E.EmpFname, E.DepartmentFROM EmployeeInfo E, Employee E1
WHERE E.Abteilung = E1.Abteilung AND E.EmpID != E1.EmpID;
Lernen Sie Softwarekurse online von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.
Fazit
Damit kommen wir zum Ende unserer Fragenliste für Interviews mit SQL-Abfragen. Wir hoffen, dass Ihnen diese Abfragen einen guten Eindruck vom standardmäßigen SQL-Abfragemuster vermitteln und Ihnen zeigen, wie Sie SQL-Abfragen erstellen. Je mehr Sie üben, desto besser werden Sie beim Schreiben von SQL-Abfragen für den Zugriff auf und die Bearbeitung von Daten in einer Datentabelle.
Wenn Sie neugierig sind, Ihre SQL-Kenntnisse zu verbessern und mehr über Full-Stack-Entwicklung zu erfahren, sehen Sie sich das PG-Diplom in Full-Stack-Softwareentwicklung von IIIT-B & upGrad 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.