Facebook Twitter WhatsApp LinkedIn Pinterest

Hallo Freunde! In diesem Beitrag werden wir einige der häufigsten SQL-Abfragen sehen, die in Interviews gestellt werden. Diese SQL-Abfrage-Interview-Fragen und -Antworten sind sowohl für Neulinge als auch für erfahrene Bewerber gedacht.
In der Tat wurden mir die meisten dieser Fragen bei Vorstellungsgesprächen in den verschiedenen Phasen meiner Karriere gestellt.

Wenn Sie die grundlegenden Fragen überspringen und mit einigen kniffligen SQL-Abfragen beginnen möchten, dann können Sie direkt zu unserem Abschnitt über SQL-Abfragen für erfahrene Bewerber übergehen.

Betrachten Sie die beiden folgenden Tabellen als Referenz, wenn Sie versuchen, Abfragen für die hier gestellten Fragen zu erstellen.

Tabelle – EmployeeDetails

EmpId FullName ManagerId DateOfJoining City
121 John Snow 321 31.01.2014 Toronto
321 Walter White 986 30.01.2015 Kalifornien
421 Kuldeep Rana 876 27/11/2016 New Delhi

Table – EmployeeSalary

EmpId Projekt Gehalt Variable
121 P1 8000 500
321 P2 10000 1000
421 P1 12000 0

Für Ihren Komfort, habe ich die 10 wichtigsten Fragen für Sie zusammengestellt. Sie können versuchen, diese Fragen zu lösen, und auf die Links klicken, um zu den jeweiligen Antworten zu gelangen.

  1. SQL-Abfrage zum Abrufen von Datensätzen, die in einer Tabelle, aber nicht in einer anderen Tabelle vorhanden sind.
  2. SQL-Abfrage zum Abrufen aller Mitarbeiter, die nicht an einem Projekt arbeiten.
  3. SQL-Abfrage zum Abrufen aller Mitarbeiter aus EmployeeDetails, die im Jahr 2020 eingetreten sind.
  4. Abrufen aller Mitarbeiter aus EmployeeDetails, die einen Gehaltsdatensatz in EmployeeSalary haben.
  5. Schreiben Sie eine SQL-Abfrage, um die projektweise Anzahl der Mitarbeiter abzurufen.
  6. Abrufen von Mitarbeiternamen und Gehalt, selbst wenn der Gehaltswert für den Mitarbeiter nicht vorhanden ist.
  7. Schreiben Sie eine SQL-Abfrage, um alle Mitarbeiter abzurufen, die auch Manager sind.
  8. Schreiben Sie eine SQL-Abfrage, um doppelte Datensätze aus EmployeeDetails abzurufen.
  9. Schreiben Sie eine SQL-Abfrage, um nur ungerade Zeilen aus der Tabelle abzurufen.
  10. Schreiben Sie eine Abfrage, um das dritthöchste Gehalt aus einer Tabelle ohne Top- oder Limit-Schlüsselwort zu finden.

Oder, Sie können auch zu unseren beiden folgenden Abschnitten über Interviewfragen für Neulinge und erfahrene Fachleute springen.

Inhalt

SQL-Abfrage-Interview-Fragen für Neulinge

Hier ist eine Liste von Top-SQL-Abfrage-Interview-Fragen und Antworten für Neulinge, die ihnen in ihren Interviews helfen werden. In diesen Abfragen werden wir uns nur auf die grundlegenden SQL-Befehle konzentrieren.

Fragen.1. Schreiben Sie eine SQL-Abfrage, um die EmpId und den FullName aller Mitarbeiter, die unter Manager mit der ID ‚986‘ arbeiten, abzurufen.
Ans. Wir können die Tabelle EmployeeDetails verwenden, um die Mitarbeiterdetails mit einer Where-Klausel für den Manager abzurufen-

SELECT EmpId, FullNameFROM EmployeeDetailsWHERE ManagerId = 986;

Ques.2Schreiben Sie eine SQL-Abfrage, um die verschiedenen Projekte aus der Tabelle „EmployeeSalary“ abzurufen.
Wenn wir uns auf die Tabelle „EmployeeSalary“ beziehen, können wir sehen, dass diese Tabelle Projektwerte enthält, die jedem Mitarbeiter entsprechen, oder wir können sagen, dass wir doppelte Projektwerte haben werden, wenn wir Projektwerte aus dieser Tabelle auswählen.
Wir werden also die distinct-Klausel verwenden, um die eindeutigen Werte des Projekts zu erhalten.

SELECT DISTINCT(Project)FROM EmployeeSalary;

Fragen.3. Schreiben Sie eine SQL-Abfrage, um die Anzahl der Mitarbeiter zu ermitteln, die im Projekt ‚P1‘ arbeiten.
Ans. Hier würden wir die Aggregatfunktion count() mit der SQL where-Klausel verwenden-

SELECT COUNT(*) FROM EmployeeSalary WHERE Project = 'P1';

Fragen.4Schreiben Sie eine SQL-Abfrage, um das Höchst-, Mindest- und Durchschnittsgehalt der Angestellten zu ermitteln.
Ans. Wir können die Aggregatfunktion von SQL verwenden, um die Höchst-, Mindest- und Durchschnittswerte zu ermitteln-

SELECT Max(Salary), Min(Salary), AVG(Salary) FROM EmployeeSalary;

Abfrage.5Schreiben Sie eine SQL-Abfrage, um die Mitarbeiter-ID zu finden, deren Gehalt im Bereich von 9000 und 15000 liegt.
Ans. Hier können wir den Operator ‚Between‘ mit einer Where-Klausel verwenden.

SELECT EmpId, SalaryFROM EmployeeSalaryWHERE Salary BETWEEN 9000 AND 15000;

Ques.6. Schreiben Sie eine SQL-Abfrage, um die Mitarbeiter zu finden, die in Toronto wohnen und unter einem Manager mit ManagerId – 321 arbeiten.
Ans. Da wir beide Bedingungen erfüllen müssen – Mitarbeiter, die in ‚Toronto‘ wohnen und im Projekt ‚P2‘ arbeiten. Also werden wir hier den Operator AND verwenden-

SELECT EmpId, City, ManagerIdFROM EmployeeDetailsWHERE City='Toronto' AND ManagerId='321';

Fragen.7. Schreiben Sie eine SQL-Abfrage, um alle Mitarbeiter zu finden, die entweder in Kalifornien wohnen oder unter einem Manager mit ManagerId – 321.
Ans arbeiten. Diese Interviewfrage erfordert, dass wir eine der beiden Bedingungen erfüllen – Mitarbeiter, die in ‚Kalifornien‘ wohnen und unter einem Manager mit ManagerId ‚321‘ arbeiten. Wir verwenden hier also den OR-Operator –

SELECT EmpId, City, ManagerIdFROM EmployeeDetailsWHERE City='California' OR ManagerId='321';

Fragen.8Schreiben Sie eine SQL-Abfrage, um alle Mitarbeiter zu finden, die an einem anderen Projekt als P1 arbeiten.
Ans. Hier können wir den NOT-Operator verwenden, um die Zeilen zu finden, die die gegebene Bedingung nicht erfüllen.

SELECT EmpIdFROM EmployeeSalaryWHERE NOT Project='P1';

Oder mit dem Operator nicht gleich

SELECT EmpIdFROM EmployeeSalaryWHERE Project <> 'P1';

Für den Unterschied zwischen NOT und <> SQL-Operatoren, siehe diesen Link – Unterschied zwischen den Operatoren NOT und !=.

Fragen.9Schreiben Sie eine SQL-Abfrage, um das Gesamtgehalt jedes Mitarbeiters anzuzeigen, indem Sie das Gehalt mit dem Variablenwert addieren.
Ans. Hier können wir einfach den ‚+‘-Operator in SQL verwenden.

SELECT EmpId,Salary+Variable as TotalSalary FROM EmployeeSalary;

Fragen.10Schreiben Sie eine SQL-Abfrage, um die Mitarbeiter abzurufen, deren Name mit zwei beliebigen Zeichen beginnt, gefolgt von einem Text „hn“ und mit einer beliebigen Zeichenfolge endet.
Ans. Für diese Frage können wir eine SQL-Abfrage erstellen, die den Operator „like“ mit den Platzhalterzeichen „_“ und „%“ verwendet, wobei „_“ auf ein einzelnes Zeichen und „%“ auf „0 oder mehrere Zeichen“ passt.

SELECT FullNameFROM EmployeeDetailsWHERE FullName LIKE '__hn%';

Fragen.11Schreiben Sie eine SQL-Abfrage, um alle Mitarbeiter-IDs abzurufen, die in einer der beiden Tabellen – ‚EmployeeDetails‘ und ‚EmployeeSalary‘ – vorhanden sind.
Um eindeutige Mitarbeiter-IDs aus beiden Tabellen zu erhalten, können wir die Unionsklausel verwenden, die die Ergebnisse der beiden SQL-Abfragen kombinieren und eindeutige Zeilen zurückgeben kann.

SELECT EmpId FROM EmployeeDetailsUNION SELECT EmpId FROM EmployeeSalary;

Abfrage.12Schreiben Sie eine SQL-Abfrage, um gemeinsame Datensätze zwischen zwei Tabellen zu holen.
Ans. SQL Server – Verwendung des INTERSECT-Operators-

SELECT * FROM EmployeeSalaryINTERSECTSELECT * FROM ManagerSalary;

MySQL – Da MySQL keinen INTERSECT-Operator hat, können wir die Unterabfrage verwenden-

SELECT *FROM EmployeeSalaryWHERE EmpId IN (SELECT EmpId from ManagerSalary);

Ques.13Schreiben Sie eine SQL-Abfrage, um Datensätze zu holen, die in einer Tabelle, aber nicht in einer anderen Tabelle vorhanden sind.
Ans. SQL Server – Verwendung des MINUS-Operators-

SELECT * FROM EmployeeSalaryMINUSSELECT * FROM ManagerSalary;

MySQL – Da MySQL keinen MINUS-Operator hat, können wir LEFT join-

SELECT EmployeeSalary.*FROM EmployeeSalaryLEFT JOINManagerSalary USING (EmpId)WHERE ManagerSalary.EmpId IS NULL;

Ques.14Schreiben Sie eine SQL-Abfrage, um die Mitarbeiter-IDs abzurufen, die in den beiden Tabellen ‚MitarbeiterDetails‘ und ‚MitarbeiterGehalt.
Ans. vorhanden sind, indem Sie eine Unterabfrage verwenden-

SELECT EmpId FROM EmployeeDetails where EmpId IN (SELECT EmpId FROM EmployeeSalary);

Ques.15. Schreiben Sie eine SQL-Abfrage, um die Mitarbeiter-IDs abzurufen, die in ‚MitarbeiterDetails‘, aber nicht in ‚MitarbeiterGehalt.
Ans. vorhanden sind, indem Sie eine Unterabfrage verwenden-

SELECT EmpId FROM EmployeeDetails where EmpId Not IN (SELECT EmpId FROM EmployeeSalary);

Ques.16Schreiben Sie eine SQL-Abfrage, um die vollständigen Namen der Mitarbeiter abzurufen und das Leerzeichen durch ‚-‚ zu ersetzen.
Ans. mit der Funktion ‚Ersetzen‘-

SELECT REPLACE(FullName, ' ', '-') FROM EmployeeDetails;

Ques.17. Schreiben Sie eine SQL-Abfrage, um die Position eines bestimmten Zeichens in einem Feld abzurufen.
Ans. mit der Funktion ‚Instr‘-

SELECT INSTR(FullName, 'Snow')FROM EmployeeDetails;

Ques.18Schreiben Sie eine SQL-Abfrage, um sowohl die EmpId als auch die ManagerId zusammen anzuzeigen.
Ans. Hier können wir den CONCAT-Befehl verwenden.

SELECT CONCAT(EmpId, ManagerId) as NewIdFROM EmployeeDetails;

Fragen.19. Schreiben Sie eine Abfrage, um nur den ersten Namen (Zeichenfolge vor dem Leerzeichen) aus der Spalte FullName der Tabelle EmployeeDetails zu holen.
Ans. In dieser Frage müssen wir zuerst die Position des Leerzeichens im Feld FullName holen und dann den ersten Namen aus dem Feld FullName extrahieren.
Für die Suche nach der Position verwenden wir die LOCATE-Methode in MySQL und CHARINDEX in SQL SERVER und für das Abrufen der Zeichenfolge vor dem Leerzeichen verwenden wir die SUBSTRING- ODER MID-Methode.
MySQL – mit MID

SELECT MID(FullName, 1, LOCATE(' ',FullName)) FROM EmployeeDetails;

SQL Server – mit SUBSTRING

SELECT SUBSTRING(FullName, 1, CHARINDEX(' ',FullName)) FROM EmployeeDetails;

Fragen.20Schreiben Sie eine SQL-Abfrage, um den Namen des Mitarbeiters in Großbuchstaben und die Stadt in Kleinbuchstaben zu schreiben.
Ans. Wir können die SQL-Funktionen „Upper“ und „Lower“ verwenden, um die gewünschten Ergebnisse zu erzielen.

SELECT UPPER(FullName), LOWER(City) FROM EmployeeDetails;

Ques.21. Schreiben Sie eine SQL-Abfrage, um die Anzahl der gesamten Vorkommen eines bestimmten Zeichens – ’n‘ – im Feld FullName zu ermitteln.
Ans. Hier können wir die Funktion ‚Length‘ verwenden. Wir können die Gesamtlänge des FullName-Feldes mit der Länge des FullName nach dem Ersetzen des Zeichens – ’n‘ – subtrahieren.

SELECT FullName, LENGTH(FullName) - LENGTH(REPLACE(FullName, 'n', ''))FROM EmployeeDetails;

Abfrage.22. Schreiben Sie eine SQL-Abfrage, um die Namen der Angestellten zu aktualisieren, indem Sie führende und nachfolgende Leerzeichen entfernen.
Ans. Verwenden Sie den Befehl „Update“ mit den Funktionen „LTRIM“ und „RTRIM“.

UPDATE EmployeeDetails SET FullName = LTRIM(RTRIM(FullName));

Ques.23. Fetch all the employees who are not working on any project.
Ans. Dies ist eine der grundlegenden Interview-Fragen, in denen der Interviewer sehen will, ob die Person weiß, über die allgemein verwendeten – Is NULL Operator.

SELECT EmpId FROM EmployeeSalary WHERE Project IS NULL;

Ques.24Schreiben Sie eine SQL-Abfrage, um die Namen der Angestellten zu finden, deren Gehalt größer oder gleich 5000 und kleiner oder gleich 10000 ist.
Ans. Hier werden wir BETWEEN in der ‚where‘-Klausel verwenden, um die EmpId der Angestellten zurückzugeben, deren Gehalt die erforderlichen Kriterien erfüllt, und diese dann als Unterabfrage verwenden, um den vollständigen Namen des Angestellten aus der Tabelle EmployeeDetails zu finden.

SELECT FullName FROM EmployeeDetails WHERE EmpId IN (SELECT EmpId FROM EmployeeSalary WHERE Salary BETWEEN 5000 AND 10000);

Ques.25. Schreiben Sie eine SQL-Abfrage, um die aktuelle Datumszeit zu finden.
Ans. MySQL-

SELECT NOW();

SQL Server-

SELECT getdate();

Oracle-

SELECT SYSDATE FROM DUAL;

Ques.26Schreiben Sie eine SQL-Abfrage, um alle Mitarbeiterdetails aus der Tabelle EmployeeDetails abzurufen, die im Jahr 2020 beigetreten sind.
Ans. Verwenden Sie BETWEEN für den Datumsbereich ’01-01-2020′ AND ’31-12-2020′-

SELECT * FROM EmployeeDetailsWHERE DateOfJoining BETWEEN '2020/01/01'AND '2020/12/31';

Auch können wir den Teil des Jahres aus dem Beitrittsdatum extrahieren (mit YEAR in mySQL)-

SELECT * FROM EmployeeDetails WHERE YEAR(DateOfJoining) = '2020';

Ques.27Schreiben Sie eine SQL-Abfrage, um alle Mitarbeiterdatensätze aus der Tabelle „EmployeeDetails“ zu holen, die einen Gehaltsdatensatz in der Tabelle „EmployeeSalary“ haben.
Ans. Verwenden Sie „Exists“-

SELECT * FROM EmployeeDetails EWHERE EXISTS(SELECT * FROM EmployeeSalary S WHERE E.EmpId = S.EmpId);

Ques.28. Schreiben Sie eine SQL-Abfrage, um die projektbezogene Anzahl der Mitarbeiter zu holen, die nach der Anzahl der Projekte in absteigender Reihenfolge sortiert sind.
Ans. Die Abfrage hat zwei Anforderungen – zuerst die projektbezogene Anzahl zu holen und dann das Ergebnis nach dieser Anzahl zu sortieren.
Für die projektweise Zählung verwenden wir die GROUP BY-Klausel, und für die Sortierung verwenden wir die ORDER BY-Klausel für den Alias der Projektanzahl.

SELECT Project, count(EmpId) EmpProjectCountFROM EmployeeSalaryGROUP BY ProjectORDER BY EmpProjectCount DESC;

Abfrage.29. Schreiben Sie eine Abfrage, um Mitarbeiternamen und Gehaltsdatensätze abzurufen. Zeigen Sie die Mitarbeiterdetails an, auch wenn der Gehaltsdatensatz für den Mitarbeiter nicht vorhanden ist.
Ans. Dies ist wieder eine der sehr häufigen Interviewfragen, bei der der Interviewer nur die Grundkenntnisse von SQL JOINS überprüfen will.
Hier können wir einen Left Join mit der Tabelle EmployeeDetail auf der linken Seite der Tabelle EmployeeSalary verwenden.

SELECT E.FullName, S.Salary FROM EmployeeDetails E LEFT JOIN EmployeeSalary SON E.EmpId = S.EmpId;

Fragen.30. Schreiben Sie eine SQL-Abfrage, um 3 Tabellen zu verbinden.
Angesichts der 3 Tabellen TabelleA, TabelleB und TabelleC können wir 2 Joins-Klauseln wie unten verwenden-

SELECT column1, column2FROM TableAJOIN TableB ON TableA.Column3 = TableB.Column3JOIN TableC ON TableA.Column4 = TableC.Column4;

Für weitere Fragen zu SQL Joins, können Sie auch unsere Top SQL Joins Interview Fragen überprüfen.

SQL Query Interview Questions for Experienced

Hier ist die Liste einiger der am häufigsten gestellten SQL Query Interview Fragen für erfahrene Profis. Diese Fragen umfassen SQL-Abfragen zu fortgeschrittenen SQL JOIN-Konzepten, Abrufen von doppelten Zeilen, ungeraden und geraden Zeilen, dem n-ten höchsten Gehalt usw.

Fragen. 31. Schreiben Sie eine SQL-Abfrage, um alle Mitarbeiter, die auch Manager sind, aus der Tabelle „EmployeeDetails“ zu holen.
Ans. Hier müssen wir Self-Join verwenden, da die Anforderung verlangt, dass wir die Tabelle „EmployeeDetails“ als zwei Tabellen analysieren. Wir werden verschiedene Aliase ‚E‘ und ‚M‘ für dieselbe Tabelle EmployeeDetails verwenden.

SELECT DISTINCT E.FullNameFROM EmployeeDetails EINNER JOIN EmployeeDetails MON E.EmpID = M.ManagerID;

Um mehr über Self-Join zusammen mit einigen weiteren Abfragen zu erfahren, können Sie sich das folgende Video ansehen, in dem das Self-Join-Konzept auf sehr einfache Weise erklärt wird.

Self Join and Its Demonstration

Ques.32. Schreiben Sie eine SQL-Abfrage, um doppelte Datensätze aus EmployeeDetails zu holen (ohne Berücksichtigung des Primärschlüssels – EmpId).
Ans. Um doppelte Datensätze aus der Tabelle zu finden, können wir GROUP BY auf alle Felder anwenden und dann die HAVING-Klausel verwenden, um nur die Felder zurückzugeben, deren Anzahl größer als 1 ist, d. h. die Zeilen mit doppelten Datensätzen.

SELECT FullName, ManagerId, DateOfJoining, City, COUNT(*)FROM EmployeeDetailsGROUP BY FullName, ManagerId, DateOfJoining, CityHAVING COUNT(*) > 1;

Ques.33. Schreiben Sie eine SQL-Abfrage, um Duplikate aus einer Tabelle zu entfernen, ohne eine temporäre Tabelle zu verwenden.
Ans. Hier können wir delete mit alias und inner join verwenden. Wir überprüfen die Gleichheit aller übereinstimmenden Datensätze und entfernen die Zeile mit der höheren EmpId.

DELETE E1 FROM EmployeeDetails E1INNER JOIN EmployeeDetails E2 WHERE E1.EmpId > E2.EmpId AND E1.FullName = E2.FullName AND E1.ManagerId = E2.ManagerIdAND E1.DateOfJoining = E2.DateOfJoiningAND E1.City = E2.City;

Ans.34. Schreiben Sie eine SQL-Abfrage, um nur ungerade Zeilen aus der Tabelle zu holen.
Ans. Falls wir ein automatisch inkrementierendes Feld haben, z. B. EmpId, können wir einfach die folgende Abfrage verwenden-

SELECT * FROM EmployeeDetails WHERE MOD (EmpId, 2) <> 0;

Falls wir kein solches Feld haben, können wir die folgenden Abfragen verwenden.
Verwendung von Row_number in SQL Server und Überprüfung, dass der Rest, wenn er durch 2 geteilt wird, 1-

SELECT E.EmpId, E.Project, E.SalaryFROM ( SELECT *, Row_Number() OVER(ORDER BY EmpId) AS RowNumber FROM EmployeeSalary) EWHERE E.RowNumber % 2 = 1;

Verwendung einer benutzerdefinierten Variable in MySQL-

SELECT *FROM ( SELECT *, @rowNumber := @rowNumber+ 1 rn FROM EmployeeSalary JOIN (SELECT @rowNumber:= 0) r ) t WHERE rn % 2 = 1;

Abfrage.35. Schreiben Sie eine SQL-Abfrage, um nur gerade Zeilen aus der Tabelle zu holen.
Ans. Falls wir ein automatisch inkrementierendes Feld haben, z.B. EmpId, dann können wir einfach die folgende Abfrage verwenden-

SELECT * FROM EmployeeDetails WHERE MOD (EmpId, 2) = 0;

In dem Fall, dass wir ein solches Feld nicht haben, können wir die folgenden Abfragen verwenden.
Verwendung von Row_number in SQL Server und Überprüfung, dass der Rest, wenn er durch 2 geteilt wird, 1-

SELECT E.EmpId, E.Project, E.SalaryFROM ( SELECT *, Row_Number() OVER(ORDER BY EmpId) AS RowNumber FROM EmployeeSalary) EWHERE E.RowNumber % 2 = 0;

Verwendung einer benutzerdefinierten Variable in MySQL-

SELECT *FROM ( SELECT *, @rowNumber := @rowNumber+ 1 rn FROM EmployeeSalary JOIN (SELECT @rowNumber:= 0) r ) t WHERE rn % 2 = 0;

Abfrage.36. Schreiben Sie eine SQL-Abfrage, um eine neue Tabelle zu erstellen, deren Daten und Struktur aus einer anderen Tabelle kopiert wurden.
Ans.

CREATE TABLE NewTable SELECT * FROM EmployeeSalary;

Ques.37. Schreiben Sie eine SQL-Abfrage, um eine leere Tabelle mit der gleichen Struktur wie eine andere Tabelle zu erstellen.
Ans. Hier können wir die gleiche Abfrage wie oben mit falscher ‚WHERE‘-Bedingung verwenden-

CREATE TABLE NewTable SELECT * FROM EmployeeSalary where 1=0;

Fragen.38. Schreiben Sie eine SQL-Abfrage, um die obersten n Datensätze zu holen?
Ans. In MySQL mit LIMIT-

SELECT *FROM EmployeeSalaryORDER BY Salary DESC LIMIT N;

In SQL Server mit TOP-Befehl-

SELECT TOP N *FROM EmployeeSalaryORDER BY Salary DESC;

Ques.39. Schreiben Sie eine SQL-Abfrage, um das n-te höchste Gehalt aus der Tabelle zu finden.
Ans, unter Verwendung des Schlüsselworts Top (SQL Server)-

SELECT TOP 1 SalaryFROM ( SELECT DISTINCT TOP N Salary FROM Employee ORDER BY Salary DESC )ORDER BY Salary ASC;

unter Verwendung der Limit-Klausel (MySQL)-

SELECT SalaryFROM EmployeeORDER BY Salary DESC LIMIT N-1,1;

Fragen.40. Schreiben Sie eine SQL-Abfrage, um das dritthöchste Gehalt aus einer Tabelle zu finden, ohne das Schlüsselwort TOP/limit zu verwenden.
Ans. Dies ist eine der am häufigsten gestellten Interviewfragen. Hierfür werden wir eine korrelierte Unterabfrage verwenden.
Um das dritthöchste Gehalt zu finden, werden wir den Gehaltswert finden, bis die innere Abfrage eine Anzahl von 2 Zeilen zurückgibt, die das Gehalt größer als andere eindeutige Gehälter haben.

SELECT SalaryFROM EmployeeSalary Emp1WHERE 2 = ( SELECT COUNT( DISTINCT ( Emp2.Salary ) ) FROM EmployeeSalary Emp2 WHERE Emp2.Salary > Emp1.Salary )

Für das n-te höchste Gehalt-

SELECT SalaryFROM EmployeeSalary Emp1WHERE N-1 = ( SELECT COUNT( DISTINCT ( Emp2.Salary ) ) FROM EmployeeSalary Emp2 WHERE Emp2.Salary > Emp1.Salary )

Damit schließen wir unseren Beitrag über häufig gestellte SQL-Abfrage-Interviewfragen und Antworten ab. Ich hoffe, diese Fragen helfen Ihnen bei Ihren Datenbankinterviews.
Wenn Sie der Meinung sind, dass wir eine der üblichen Interviewfragen übersehen haben, dann lassen Sie es uns in den Kommentaren wissen und wir werden diese Fragen zu unserer Liste hinzufügen.

Sehen Sie sich auch unseren Artikel über – Datenbank-Interview-Fragen an, der sich auf die theoretischen Interviewfragen konzentriert, die auf den DBMS- und SQL-Konzepten basieren.

Kuldeep ist der Gründer und Hauptautor von ArtOfTesting. Er ist Experte für Testautomatisierung, Leistungstests, Big Data und CI-CD. Er bringt seine jahrzehntelange Erfahrung in seine derzeitige Rolle ein, in der er sich der Ausbildung von QA-Experten widmet. Sie können sich mit ihm auf LinkedIn verbinden.

Facebook Twitter WhatsApp LinkedIn Pinterest

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.