SQL-Implementierung von LeetCode (183. Kunden, die noch nie eine Bestellung aufgegeben haben)

SQL-Implementierung von LeetCode (183. Kunden, die noch nie eine Bestellung aufgegeben haben)

[LeetCode] 183.Kunden, die nie bestellen

Angenommen, eine Website enthält zwei Tabellen, die Tabelle „Kunden“ und die Tabelle „Bestellungen“. Schreiben Sie eine SQL-Abfrage, um alle Kunden zu finden, die nie etwas bestellen.

Tabelle: Kunden.

+----+--------+
| Ich würde | Name |
+----+--------+
| 1 | Joe |
| 2 | Heinrich |
| 3 | Sam |
| 4 | Max |
+----+--------+

Tabelle: Bestellungen.

+----+------------+
| ID | Kunden-ID |
+----+------------+
| 1 | 3 |
| 2 | 1 |
+----+------------+

Geben Sie anhand der obigen Tabellen als Beispiel Folgendes zurück:

+-------------+
| Kunden |
+-------------+
|Henry |
| Max |
+-------------+

Diese Frage gibt uns eine Kundentabelle und eine Bestelltabelle. Lassen Sie uns Kunden finden, die noch nie eine Bestellung aufgegeben haben. Unsere direkteste Methode besteht dann darin, die Kunden-ID zu finden, die nicht in der Bestelltabelle erscheint, indem wir das Schlüsselwort „Nicht in“ verwenden, wie unten gezeigt:

Lösung 1:

Wählen Sie Name AS Kunden FROM Kunden 
Wobei ID nicht in (Kunden-ID aus Bestellungen auswählen) ist;

Oder wir können auch einen Left Join verwenden, um die beiden Tabellen zu verbinden. Wir müssen nur die Kunden herausfinden, deren CustomerId auf der rechten Seite Null ist, was bedeutet, dass sie keine Bestellung aufgegeben haben:

Lösung 2:

Wählen Sie Name AS Kunden FROM Kunden
LINKS JOIN Bestellungen ON Kunden.Id = Bestellungen.KundenId
Wobei Orders.CustomerId NULL ist;

Wir können auch das Schlüsselwort „Not exists“ verwenden, das ähnlich wie „Not in“ funktioniert. Siehe den folgenden Code:

Lösung 3:

SELECT Name AS Kunden FROM Kunden c
WO NICHT EXISTIERT (SELECT * FROM Orders o WHERE o.CustomerId = c.Id);

Quellen:

https://leetcode.com/discuss/22624/three-accepted-solutions

https://leetcode.com/discuss/53213/a-solution-using-not-in-and-another-one-using-left-join

Dies ist das Ende des Artikels über die SQL-Implementierung von LeetCode (182. Kunden, die noch nie eine Bestellung aufgegeben haben). Weitere relevante Inhalte zur SQL-Implementierung von Kunden, die noch nie eine Bestellung aufgegeben haben, finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • SQL-Implementierung von LeetCode (196. Doppelte Postfächer löschen)
  • SQL-Implementierung LeetCode (185. Top drei der höchsten Gehälter in der Abteilung)
  • SQL-Implementierung von LeetCode (184. Das höchste Gehalt der Abteilung)
  • SQL-Implementierung von LeetCode (182. Doppelte Postfächer)
  • SQL-Implementierung von LeetCode (181. Angestellte verdienen mehr als Manager)
  • SQL implementiert LeetCode (180. Fortlaufende Zahlen)
  • C++-Implementierung von LeetCode (179. Maximale Anzahl an Kombinationen)
  • SQL-Implementierung von LeetCode (197. Steigende Temperatur)

<<:  Eine detaillierte Erklärung der überlappenden und weichen Farbanpassungsmethode bei der Farbanpassung von Webseiten

>>:  Die Größe der transparenten HTML-Popup-Ebeneninstanz kann eingestellt und proportional sein.

Artikel empfehlen

Tipps zum Listenaufbau für Website-Wartungsseiten

Und oft ist es für Wartungsarbeiten erforderlich, ...

Detaillierte Erklärung des CSS3-Rotationswürfelproblems

3D-Koordinatenkonzept Wenn sich ein Element dreht...

jQuery-Plugin zum Erreichen einer Bildunterbrechung

In diesem Artikel wird der spezifische Code des j...

Detaillierte Erklärung zur Verwendung verschiedener MySQL-Indizes

1. Langsames Abfrageprotokoll 1.1 MySQL-Protokoll...

Lösung für den Konflikt zwischen zwei Registerkartennavigation in HTML

Beginnen wir mit einer Beschreibung des Problems:...

Beispielcode, der gängige Grafikeffekte in CSS-Stilen zeigt

Lassen Sie mich kurz einige gängige Grundgrafiken...

Erstellen Sie mit Node.JS ein Echtzeit-Warnsystem für Unwetter

Inhaltsverzeichnis Vorwort: Schritt 1: Finden Sie...

Detaillierte Erläuterung der Windows-Zeitserver-Konfigurationsmethode

Kürzlich habe ich festgestellt, dass die Serverze...

Details zur Verwendung von Bimface in Vue

Inhaltsverzeichnis 1. Installieren Sie das Vue-Ge...

So kompilieren und installieren Sie PHP und Nginx in einer Ubuntu-Umgebung

Dieser Artikel beschreibt, wie man PHP und Nginx ...

VMware12 installiert die Desktopversion von Ubuntu19.04 (Installations-Tutorial)

1. Versuchsbeschreibung Installieren Sie in der v...

Extrahieren Sie bestimmte Dateipfade in Ordnern basierend auf Linux-Befehlen

In letzter Zeit besteht der Bedarf, automatisch n...

Der Aufruf der Suchmaschine auf der Seite erfolgt am Beispiel von Baidu

Heute ist mir plötzlich eingefallen, dass es cool ...