Strukturierte Abfragesprache ist das primäre Instrument, das bei der Arbeit mit relationalen Datenbanken verwendet wird, daher sollte es jeder kennen, der mit Datenbanken zu tun hat. Egal, ob Sie SQL-Neuling sind oder einfach nur Ihre Kenntnisse aufpolieren möchten, dieser Artikel führt Sie durch 50 speziell entwickelte SQL-Abfrage-Interviewfragen vom Einstiegs- bis zum Fortgeschrittenenniveau.

Beispieltabellendaten

Um das besser zu verstehen und auszuführen SQL-Abfragenbeginnen wir mit der Untersuchung der in diesem Artikel verwendeten Beispieldaten. Die folgenden Tabellen dienen als Grundlage für alle Abfragen und Beispiele.

Mitarbeitertisch

Mitarbeiter-ID Vorname Nachname Abteilungs-ID Gehalt Einstellungsdatum ManagerID
1 Alice Johnson 101 60000 15.01.2018 3
2 Bob Schmied 102 75000 20.05.2017 3
3 Charlie Braun 101 90000 30.09.2015 NULL
4 David Williams 103 55000 11.07.2019 3
5 Eva Davis 102 65000 25.03.2020 2

Bestelltabelle

Bestell-ID Mitarbeiter-ID Produkt-ID Menge Bestelldatum
1001 1 201 10 15.01.2022
1002 2 202 5 16.01.2022
1003 3 203 20 17.01.2022
1004 4 202 15 18.01.2022
1005 5 204 25 19.01.2022

Produkttabelle

Produkt-ID Produktname Preis Kategorie
201 Laptop computer 1200 Elektronik
202 Smartphone 800 Elektronik
203 Bürostuhl 150 Möbel
204 Schreibtisch 300 Möbel
205 Monitor 200 Elektronik

Anfängerniveau

In diesem Abschnitt möchten wir einen Leitfaden für grundlegende SQL-Abfragen bereitstellen, den Schüler, die mit SQL noch nicht vertraut sind, leicht verstehen können. Diese grundlegenden Abfragen können als Grundlage verwendet werden, um mit den wichtigsten Aspekten von SQL vertraut zu werden, einschließlich der Auswahl von Daten, Formen der Datenfilterung und rudimentären Berechnungen.

Q1. Schreiben Sie eine Abfrage, um alle Datensätze aus der Tabelle „Workers“ anzuzeigen.

Antwort:

SELECT * FROM Workers;
EmployeeID | FirstName | LastName | DepartmentID | Wage | HireDate    | ManagerID
----------------------------------------------------------------------------
1          | Alice    | Johnson  | 10           | 160000 | 2018-01-15  | 32
2          | Bob      | Smith    | 10           | 275000 | 2017-05-20  | 33
3          | Charlie  | Brown    | 10           | 190000 | 2015-09-30  | NULL
4          | David    | Williams | 10           | 355000 | 2019-07-11  | 35
5          | Eva      | Davis    | 10           | 265000 | 2020-03-25  | 32

Q2. Rufen Sie nur den Vornamen und Nachnamen der Mitarbeiter ab.

Antwort:

SELECT FirstName, LastName FROM Workers;

FirstName | LastName
--------------------
Alice     | Johnson
Bob       | Smith
Charlie   | Brown
David     | Williams
Eva       | Davis

Q3. Rufen Sie die eindeutigen Abteilungs-IDs aus der Tabelle „Mitarbeiter“ ab.

Antwort:

SELECT DISTINCT DepartmentID FROM Workers;

DepartmentID
-------------
10

This fall. Holen Sie sich Mitarbeiter mit einem Gehalt von mehr als 60.000.

Antwort:

SELECT * FROM Workers WHERE Wage > 60000;

EmployeeID | FirstName | LastName | DepartmentID | Wage | HireDate    | ManagerID
----------------------------------------------------------------------------
1          | Alice    | Johnson  | 10           | 160000 | 2018-01-15  | 32
2          | Bob      | Smith    | 10           | 275000 | 2017-05-20  | 33
3          | Charlie  | Brown    | 10           | 190000 | 2015-09-30  | NULL
4          | David    | Williams | 10           | 355000 | 2019-07-11  | 35
5          | Eva      | Davis    | 10           | 265000 | 2020-03-25  | 32

F5. Schreiben Sie eine Abfrage, um alle Bestellungen anzuzeigen, die am oder nach dem 17. Januar 2022 aufgegeben wurden.

Antwort:

SELECT * FROM Orders WHERE OrderDate >= '2022-01-17';

OrderID | EmployeeID | ProductID | Amount | OrderDate  
----------------------------------------------------------
1022    | 2          | 1         | 2        | 2022-01-16
1023    | 3          | 3         | 3        | 2022-01-17
1024    | 4          | 2         | 5        | 2022-01-18
1025    | 5          | 4         | 5        | 2022-01-19

F6. Rufen Sie alle Produkte ab, deren Preis unter 300 liegt.

Antwort:

SELECT * FROM Merchandise WHERE Value < 300;

ProductID | ProductName | Value | Class
--------------------------------------------
203       | Workplace Chair | 150   | Furnishings
204       | Desk         | 300   | Furnishings
205       | Monitor      | 200   | Electronics

F7. Finden Sie die Gesamtzahl der Bestellungen in der Tabelle „Bestellungen“.

Antwort:

SELECT COUNT(*) AS TotalOrders FROM Orders;

TotalOrders
------------
5

F8. Rufen Sie die Particulars des Produkts mit dem Namen „Laptop computer“ ab.

Antwort:

SELECT * FROM Merchandise WHERE ProductName="Laptop computer";

ProductID | ProductName | Value | Class
--------------------------------------------
201       | Laptop computer      | 1200  | Electronics

F9. Schreiben Sie eine Abfrage, um Mitarbeiter nach ihrem Einstellungsdatum in aufsteigender Reihenfolge zu sortieren.

Antwort:

SELECT * FROM Workers ORDER BY HireDate ASC;

EmployeeID | FirstName | LastName | DepartmentID | Wage | HireDate    | ManagerID
----------------------------------------------------------------------------
3          | Charlie  | Brown    | 10           | 190000 | 2015-09-30  | NULL
2          | Bob      | Smith    | 10           | 275000 | 2017-05-20  | 33
1          | Alice    | Johnson  | 10           | 160000 | 2018-01-15  | 32
4          | David    | Williams | 10           | 355000 | 2019-07-11  | 35
5          | Eva      | Davis    | 10           | 265000 | 2020-03-25  | 32

F10. Rufen Sie den Höchstpreis der Produkte in der Kategorie „Elektronik“ ab.

Antwort:

SELECT MAX(Value) AS MaxPrice FROM Merchandise WHERE Class = 'Electronics';

MaxPrice
--------
1200

Der folgende Abschnitt des Artikels befasst sich mit der mittleren Stufe des Erlernens von SQL, indem umfassendere Abfragen vorgestellt werden. Sie werden mit dem Verknüpfen von Tabellen fortfahren und lernen, wie Sie Funktionen zum Filtern von Daten sowie komplexe Operationen verwenden, um reale Operationen besser zu lösen.

F11. Schreiben Sie eine Abfrage, um die Tabellen „Mitarbeiter“ und „Bestellungen“ zu verknüpfen, um Mitarbeiternamen zusammen mit ihren Bestellungen abzurufen.

Antwort:

SELECT e.FirstName, e.LastName, o.OrderID, o.OrderDate  
FROM Workers e  
JOIN Orders o ON e.EmployeeID = o.EmployeeID;

FirstName | LastName | OrderID | OrderDate  
-------------------------------------------
Alice     | Johnson  | 1022    | 2022-01-16
Bob       | Smith    | 1023    | 2022-01-17
Charlie   | Brown    | 1024    | 2022-01-18
David     | Williams | 1025    | 2022-01-19

F12. Berechnen Sie das Gesamtgehalt professional Abteilung.

Antwort:

SELECT DepartmentID, SUM(Wage) AS TotalSalary  
FROM Workers  
GROUP BY DepartmentID;

DepartmentID | TotalSalary
-------------------------
10           | 1355000

F13. Finden Sie die Mitarbeiter, die keinen Supervisor haben.

Antwort:

SELECT * FROM Workers WHERE ManagerID IS NULL;

EmployeeID | FirstName | LastName | DepartmentID | Wage | HireDate    | ManagerID
----------------------------------------------------------------------------
3          | Charlie  | Brown    | 10           | 190000 | 2015-09-30  | NULL

F14. Schreiben Sie eine Abfrage, um den durchschnittlichen Produktpreis für jede Kategorie anzuzeigen.

Antwort:

SELECT Class, AVG(Value) AS AvgPrice  
FROM Merchandise  
GROUP BY Class;

Class    | AvgPrice
-----------------------
Electronics | 800
Furnishings   | 216.67

F15. Rufen Sie die Daten der drei bestbezahlten Mitarbeiter ab.

Antwort:

SELECT * FROM Workers  
ORDER BY Wage DESC  
LIMIT 3;

EmployeeID | FirstName | LastName | DepartmentID | Wage | HireDate    | ManagerID
----------------------------------------------------------------------------
4          | David    | Williams | 10           | 355000 | 2019-07-11  | 35
2          | Bob      | Smith    | 10           | 275000 | 2017-05-20  | 33
5          | Eva      | Davis    | 10           | 265000 | 2020-03-25  | 32

F16. Rufen Sie die Bestelldetails zusammen mit dem Produktnamen ab.

Antwort:

SELECT o.OrderID, o.Amount, p.ProductName, p.Value  
FROM Orders o  
JOIN Merchandise p ON o.ProductID = p.ProductID;

OrderID | Amount | ProductName  | Value
-------------------------------------------
1022    | 2        | Laptop computer       | 1200
1023    | 3        | Workplace Chair | 150
1024    | 5        | Smartphone   | 800
1025    | 5        | Desk         | 300

F17. Finden Sie die Gesamtmenge der bestellten Produkte für jedes Produkt.

Antwort:

SELECT ProductID, SUM(Amount) AS TotalQuantity  
FROM Orders  
GROUP BY ProductID;

ProductID | TotalQuantity
--------------------------
1         | 2
2         | 8
3         | 3
4         | 5

F18. Schreiben Sie eine Anfrage, um den Preis aller Produkte der Kategorie „Möbel“ um 10 % zu aktualisieren.

Antwort:

UPDATE Merchandise  
SET Value = Value * 1.10  
WHERE Class = 'Furnishings';

Q19. Löschen Sie alle Bestellungen, die vor dem 17. Januar 2022 aufgegeben wurden.

Antwort:

DELETE FROM Orders WHERE OrderDate < '2022-01-17';

Q20. Rufen Sie Mitarbeiter ab, deren Vorname mit „A“ beginnt.

Antwort:

SELECT * FROM Workers WHERE FirstName LIKE 'A%';

EmployeeID | FirstName | LastName | DepartmentID | Wage | HireDate    | ManagerID
----------------------------------------------------------------------------
1          | Alice    | Johnson  | 10           | 160000 | 2018-01-15  | 32

F21. Rufen Sie die Anzahl der jedes Jahr eingestellten Mitarbeiter ab.

Antwort:

SELECT YEAR(HireDate) AS HireYear, COUNT(*) AS EmployeesHired  
FROM Workers  
GROUP BY YEAR(HireDate);

HireYear | EmployeesHired
-------------------------
2015     | 1
2017     | 1
2018     | 1
2019     | 1
2020     | 1

F22. Schreiben Sie eine Abfrage, um Mitarbeiter zu finden, die mehr als das Durchschnittsgehalt verdienen.

Antwort:

SELECT * FROM Workers  
WHERE Wage > (SELECT AVG(Wage) FROM Workers);

EmployeeID | FirstName | LastName | DepartmentID | Wage | HireDate    | ManagerID
----------------------------------------------------------------------------
2          | Bob      | Smith    | 10           | 275000 | 2017-05-20  | 33
4          | David    | Williams | 10           | 355000 | 2019-07-11  | 35
5          | Eva      | Davis    | 10           | 265000 | 2020-03-25  | 32

F23. Zeigen Sie die High-3-Produkte mit der höchsten Gesamtverkaufsmenge an.

Antwort:

SELECT p.ProductName, SUM(o.Amount) AS TotalQuantity  
FROM Orders o  
JOIN Merchandise p ON o.ProductID = p.ProductID  
GROUP BY p.ProductName  
ORDER BY TotalQuantity DESC  
LIMIT 3;

ProductName | TotalQuantity
----------------------------
Smartphone  | 8
Desk        | 5
Workplace Chair| 3

F24. Rufen Sie die Mitarbeiter ab, die keine Bestellungen aufgegeben haben.

Antwort:

SELECT * FROM Workers  
WHERE EmployeeID NOT IN (SELECT DISTINCT EmployeeID FROM Orders);

EmployeeID | FirstName | LastName | DepartmentID | Wage | HireDate    | ManagerID
----------------------------------------------------------------------------
3          | Charlie  | Brown    | 10           | 190000 | 2015-09-30  | NULL

F25. Schreiben Sie eine Abfrage, um den zuletzt eingestellten Mitarbeiter abzurufen.

Antwort:

SELECT * FROM Workers  
ORDER BY HireDate DESC  
LIMIT 1;

EmployeeID | FirstName | LastName | DepartmentID | Wage | HireDate    | ManagerID
----------------------------------------------------------------------------
5          | Eva      | Davis    | 10           | 265000 | 2020-03-25  | 32

F26. Zeigen Sie alle Mitarbeiter zusammen mit der Gesamtzahl der von ihnen bearbeiteten Aufträge an.

Antwort:

SELECT e.EmployeeID, e.FirstName, COUNT(o.OrderID) AS TotalOrders  
FROM Workers e  
LEFT JOIN Orders o ON e.EmployeeID = o.EmployeeID  
GROUP BY e.EmployeeID, e.FirstName;
Mitarbeiter-ID Vorname Gesamtbestellungen
1 Alice 2
2 Bob 2
3 Charlie 1
4 David 1
5 Eva 0

F27. Rufen Sie Produktdetails ab, deren Gesamtumsatz 10.000 US-Greenback übersteigt.

Antwort:

SELECT p.ProductName, SUM(o.Amount * p.Value) AS TotalSales  
FROM Orders o  
JOIN Merchandise p ON o.ProductID = p.ProductID  
GROUP BY p.ProductName  
HAVING TotalSales > 10000;
Produktname Gesamtumsatz
Laptop computer 24000

F28. Finden Sie Mitarbeiter, die im selben Jahr wie ihr Vorgesetzter in das Unternehmen eingetreten sind.

Antwort:

SELECT e.FirstName AS EmployeeName, m.FirstName AS ManagerName  
FROM Workers e  
JOIN Workers m ON e.ManagerID = m.EmployeeID  
WHERE YEAR(e.HireDate) = YEAR(m.HireDate);
Mitarbeitername Managername
Alice Bob

F29. Rufen Sie die Namen der Mitarbeiter mit dem höchsten Gehalt in jeder Abteilung ab.

Antwort:

SELECT DepartmentID, FirstName, LastName, Wage  
FROM Workers  
WHERE (DepartmentID, Wage) IN (  
    SELECT DepartmentID, MAX(Wage)  
    FROM Workers  
    GROUP BY DepartmentID  
);
Abteilungs-ID Vorname Nachname Gehalt
1 Alice Johnson 160000
2 Bob Schmied 75000
3 David Williams 55000

Q30. Schreiben Sie eine Abfrage, um den von jedem Mitarbeiter generierten Gesamtumsatz abzurufen.

Antwort:

SELECT e.FirstName, e.LastName, SUM(o.Amount * p.Value) AS TotalRevenue  
FROM Workers e  
JOIN Orders o ON e.EmployeeID = o.EmployeeID  
JOIN Merchandise p ON o.ProductID = p.ProductID  
GROUP BY e.EmployeeID, e.FirstName, e.LastName;
Vorname Nachname Gesamtumsatz
Alice Johnson 32000
Bob Schmied 63000
Charlie Braun 45000
David Williams 30000
Eva Davis 0

Fortgeschrittenes Niveau

Im fortgeschrittenen Degree befassen wir uns mit der komplexen Synthese von SQL-Abfrageanweisungen. Dieser Abschnitt widmet sich der Beschreibung komplexerer Operationen wie Rating, Fensterfunktionen, grundlegende Unterabfragen und Optimierungsmethoden, um Ihnen die Bewältigung komplizierter Aufgaben bei der Datenanalyse zu ermöglichen.

F31. Schreiben Sie eine Abfrage, um Mitarbeiter abzurufen, die mehr verdienen als ihr Vorgesetzter.

Antwort:

SELECT e.FirstName AS EmployeeName, m.FirstName AS ManagerName  
FROM Workers e  
JOIN Workers m ON e.ManagerID = m.EmployeeID  
WHERE e.Wage > m.Wage;
Mitarbeitername Managername
Alice Bob

F32. Rufen Sie das zweithöchste Gehalt aus der Tabelle „Mitarbeiter“ ab.

Antwort:

SELECT MAX(Wage) AS SecondHighestSalary  
FROM Workers  
WHERE Wage < (SELECT MAX(Wage) FROM Workers);

SecondHighestSalary
75000

F33. Pay attention Sie die Abteilungen auf, denen keine Mitarbeiter zugeordnet sind.

Antwort:

SELECT * FROM Departments  
WHERE DepartmentID NOT IN (SELECT DISTINCT DepartmentID FROM Workers);
Abteilungs-ID Abteilungsname
4 Advertising and marketing

F34. Schreiben Sie eine Abfrage, um eine Ansicht zu erstellen, die die Namen der Mitarbeiter und deren Abteilungsnamen anzeigt.

Antwort:

CREATE VIEW EmployeeDepartmentView AS  
SELECT e.FirstName, e.LastName, d.DepartmentName  
FROM Workers e  
JOIN Departments d ON e.DepartmentID = d.DepartmentID;
Vorname Nachname Abteilungsname
Alice Johnson ES
Bob Schmied Verkäufe
Charlie Braun ES
David Williams Personalwesen
Eva Davis Verkäufe

F35. Rufen Sie die Namen der Mitarbeiter ab, die mehr als 10 Bestellungen aufgegeben haben.

Antwort:

SELECT e.FirstName, e.LastName  
FROM Workers e  
JOIN Orders o ON e.EmployeeID = o.EmployeeID  
GROUP BY e.EmployeeID, e.FirstName, e.LastName  
HAVING COUNT(o.OrderID) > 10;
Vorname Nachname
Alice Johnson
Bob Schmied

F36. Schreiben Sie eine Abfrage, um Mitarbeiter anhand ihres Gehalts in jeder Abteilung einzustufen.

Antwort:

SELECT EmployeeID, FirstName, DepartmentID, Wage,  
       RANK() OVER (PARTITION BY DepartmentID ORDER BY Wage DESC) AS Rank  
FROM Workers;
Mitarbeiter-ID Vorname Abteilungs-ID Gehalt Rang
1 Alice 1 160000 1
3 Charlie 1 190000 2
2 Bob 2 75000 1
4 David 3 55000 1
5 Eva 2 65000 2

F37. Rufen Sie die kumulierten Verkäufe für jedes Produkt ab.

Antwort:

SELECT ProductID, ProductName,  
       SUM(SUM(Amount * Value)) OVER (ORDER BY ProductID) AS CumulativeSales  
FROM Merchandise p  
JOIN Orders o ON p.ProductID = o.ProductID  
GROUP BY ProductID, ProductName;
Produkt-ID Produktname Kumulierte Verkäufe
201 Laptop computer 24000
202 Smartphone 32000
203 Bürostuhl 1500
204 Schreibtisch 3000
205 Monitor 1500

F38. Identifizieren Sie die Abteilung mit den höchsten Gesamtgehaltsausgaben.

Antwort:

SELECT DepartmentID, SUM(Wage) AS TotalExpenditure  
FROM Workers  
GROUP BY DepartmentID  
ORDER BY TotalExpenditure DESC  
LIMIT 1;
Abteilungs-ID Gesamtausgaben
1 450000

F39. Schreiben Sie eine Abfrage, um den prozentualen Beitrag jedes Produkts zum Gesamtumsatz zu ermitteln.

Antwort:

SELECT p.ProductName,  
       (SUM(o.Amount * p.Value) * 100.0 /  
        (SELECT SUM(Amount * Value) FROM Orders o JOIN Merchandise p ON o.ProductID = p.ProductID)) AS ContributionPercentage  
FROM Orders o  
JOIN Merchandise p ON o.ProductID = p.ProductID  
GROUP BY p.ProductName;
Produktname Beitragsprozentsatz
Laptop computer 48.00
Smartphone 32.00
Bürostuhl 4.00
Schreibtisch 8.00
Monitor 8.00

F40. Finden Sie Mitarbeiter mit demselben Vorgesetzten und verdienen Sie mehr als 70.000 US-Greenback.

Antwort:

SELECT *  
FROM Workers e1  
WHERE ManagerID IS NOT NULL  
AND Wage > 70000  
AND ManagerID IN (  
    SELECT ManagerID FROM Workers e2 WHERE e1.ManagerID = e2.ManagerID  
);
Mitarbeiter-ID Vorname Nachname Gehalt ManagerID
1 Alice Johnson 160000 32
2 Bob Schmied 75000 32

F41. Schreiben Sie eine Abfrage, um doppelte Zeilen in der Tabelle „Bestellungen“ zu erkennen.

Antwort:

SELECT EmployeeID, ProductID, OrderDate, COUNT(*) AS DuplicateCount  
FROM Orders  
GROUP BY EmployeeID, ProductID, OrderDate  
HAVING COUNT(*) > 1;
Mitarbeiter-ID Produkt-ID Bestelldatum DuplicateCount
1 201 15.01.2022 2

F42. Rufen Sie die Particulars von Bestellungen ab, die am selben Tag von mehreren Mitarbeitern aufgegeben wurden.

Antwort:

SELECT OrderDate, COUNT(DISTINCT EmployeeID) AS EmployeeCount  
FROM Orders  
GROUP BY OrderDate  
HAVING EmployeeCount > 1;
Bestelldatum EmployeeCount
15.01.2022 2
16.01.2022 2
17.01.2022 1

F43. Erstellen Sie eine gespeicherte Prozedur, um Produktpreise basierend auf der Kategorie zu aktualisieren.

Antwort:

DELIMITER $$  
CREATE PROCEDURE UpdatePriceByCategory(IN category_name VARCHAR(50), IN price_factor DECIMAL(5, 2))  
BEGIN  
    UPDATE Merchandise  
    SET Value = Value * price_factor  
    WHERE Class = category_name;  
END$$  
DELIMITER ;

F44. Schreiben Sie eine Abfrage, um die Vor- und Nachlaufdaten für jeden Mitarbeiter zu berechnen.

Antwort:

SELECT EmployeeID, OrderID, OrderDate,  
       LAG(OrderDate) OVER (PARTITION BY EmployeeID ORDER BY OrderDate) AS PreviousOrderDate,  
       LEAD(OrderDate) OVER (PARTITION BY EmployeeID ORDER BY OrderDate) AS NextOrderDate  
FROM Orders;
Mitarbeiter-ID Bestell-ID Bestelldatum VorherigesBestelldatum Nächstes Bestelldatum
1 1 15.01.2022 NULL 16.01.2022
2 2 16.01.2022 15.01.2022 17.01.2022
3 3 17.01.2022 NULL NULL

F45. Identifizieren Sie die Produkte, die nicht bestellt wurden.

Antwort:

SELECT * FROM Merchandise  
WHERE ProductID NOT IN (SELECT DISTINCT ProductID FROM Orders);
Produkt-ID Produktname
204 Schreibtisch
205 Monitor

F46. Schreiben Sie eine Abfrage, um Mitarbeiter abzurufen, deren Gesamtbestellmenge zwischen 50 und 100 liegt.

Antwort:

SELECT e.FirstName, e.LastName, SUM(o.Amount) AS TotalQuantity  
FROM Workers e  
JOIN Orders o ON e.EmployeeID = o.EmployeeID  
GROUP BY e.EmployeeID, e.FirstName, e.LastName  
HAVING TotalQuantity BETWEEN 50 AND 100;
Vorname Nachname Gesamtmenge
Bob Schmied 60

F47. Holen Sie sich für jedes Produkt die zweithöchste bestellte Menge.

Antwort:

SELECT ProductID, MAX(Amount) AS SecondHighestQuantity  
FROM Orders  
WHERE Amount < (SELECT MAX(Amount) FROM Orders WHERE Orders.ProductID = ProductID)  
GROUP BY ProductID;
Produkt-ID Zweithöchste Menge
201 20
202 30
203 10

F48. Finden Sie die Mindest- und Höchstbestellmengen für jeden Mitarbeiter.

Antwort:

SELECT EmployeeID, MIN(Amount) AS MinQuantity, MAX(Amount) AS MaxQuantity  
FROM Orders  
GROUP BY EmployeeID;
Mitarbeiter-ID Mindestmenge Maximale Menge
1 10 20
2 20 40
3 10 10

F49. Schreiben Sie eine Abfrage, um die Gehälter der Mitarbeiter in Quartile aufzuteilen.

Antwort:

SELECT EmployeeID, FirstName, Wage,  
       NTILE(4) OVER (ORDER BY Wage) AS SalaryQuartile  
FROM Workers;
Mitarbeiter-ID Vorname Gehalt GehaltQuartil
1 Alice 160000 4
2 Bob 75000 3
3 Charlie 190000 4
4 David 55000 2
5 Eva 65000 2

F50. Erstellen Sie eine temporäre Tabelle für Bestellungen mit hohem Umsatz (mehr als 5.000 $).

Antwort:

CREATE TEMPORARY TABLE HighRevenueOrders AS  
SELECT o.OrderID, o.Amount, p.Value, (o.Amount * p.Value) AS Income  
FROM Orders o  
JOIN Merchandise p ON o.ProductID = p.ProductID  
WHERE (o.Amount * p.Value) > 5000;
Bestell-ID Menge Preis Einnahmen
1 10 1200 12000
2 25 800 20000

Abschluss

Das Beherrschen von Interviewfragen zu SQL-Abfragen bietet eine solide Grundlage für eine effiziente Datenverwaltung und -analyse. Durch das Üben dieser Interviewfragen zu SQL-Abfragen verbessern Sie Ihre Fähigkeit, mit realen Datenbanken zu arbeiten, und erleichtern so das effektive Abrufen, Bearbeiten und Interpretieren von Daten. Unabhängig davon, ob Sie gerade erst anfangen oder Ihre Fähigkeiten verfeinern, bleibt SQL ein unverzichtbares Werkzeug für jeden Datenprofi, und das Verständnis seiner vielfältigen Fähigkeiten eröffnet unzählige Möglichkeiten zur Problemlösung und Gewinnung von Erkenntnissen.

Mein Identify ist Ayushi Trivedi. Ich habe einen B.Tech-Abschluss. Ich habe 3 Jahre Erfahrung als Pädagoge und Inhaltsredakteur. Ich habe mit verschiedenen Python-Bibliotheken gearbeitet, wie Numpy, Pandas, Seaborn, Matplotlib, Scikit, Imblearn, lineare Regression und vielen mehr. Ich bin auch Autor. Mein erstes Buch mit dem Titel #turning25 wurde veröffentlicht und ist auf Amazon und Flipkart erhältlich. Hier bin ich Redakteur für technische Inhalte bei Analytics Vidhya. Ich bin stolz und glücklich, AVian zu sein. Ich habe ein tolles Group, mit dem ich zusammenarbeiten kann. Ich liebe es, eine Brücke zwischen der Technologie und dem Lernenden zu schlagen.

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert