SQL-Implementierung von LeetCode (175. Zwei Tabellen verbinden)

SQL-Implementierung von LeetCode (175. Zwei Tabellen verbinden)

[LeetCode] 175.Zwei Tabellen kombinieren

Tabelle: Person

+-------------+---------+
| Spaltenname | Typ |
+-------------+---------+
| Personen-ID | int |
| Vorname | varchar |
| Nachname | varchar |
+-------------+---------+
PersonId ist die Primärschlüsselspalte für diese Tabelle.

Tabelle: Adresse

+-------------+---------+
| Spaltenname | Typ |
+-------------+---------+
| Adress-ID | int |
| Personen-ID | int |
| Stadt | varchar |
| Status | varchar |
+-------------+---------+
AddressId ist die Primärschlüsselspalte für diese Tabelle.

Schreiben Sie eine SQL-Abfrage für einen Bericht, der für jede Person in der Tabelle „Person“ die folgenden Informationen bereitstellt, unabhängig davon, ob für jede dieser Personen eine Adresse vorhanden ist:

Vorname, Nachname, Stadt, Staat

LeetCode hat auch eine Frage zur Datenbank. Machen wir sie. Dies ist die erste Frage. Sie ist relativ einfach. Es geht um eine gemeinsame Suche zwischen zwei Tabellen. Wir müssen die Join-Operation verwenden. Für einige Join-Operationen können Sie meinen vorherigen Blog lesen: SQL Left Join, Right Join, Inner Join und Natural Join. Der direkteste Weg ist, Left Join zu verwenden, um die beiden Tabellen gemäß PersonId zu verbinden:

Lösung 1:

SELECT Person.Vorname, Person.Nachname, Adresse.Stadt, Adresse.Bundesland FROM Person LEFT JOIN Adresse ON Person.PersonId = Adresse.PersonId;

Bei Verwendung von Left Join können wir auch das Schlüsselwort Using nutzen, um anzugeben, welchen Spaltennamen wir für den Join verwenden möchten:

Lösung 2:

SELECT Person.Vorname, Person.Nachname, Adresse.Stadt, Adresse.Bundesland FROM Person LEFT JOIN Adresse USING(PersonId);

Oder wir können das Schlüsselwort Natural hinzufügen, sodass wir keine bestimmten Spalten deklarieren müssen und MySQL selbst nach denselben Spalten suchen kann:

Lösung 3:

SELECT Person.Vorname, Person.Nachname, Adresse.Stadt, Adresse.Bundesland FROM Person NATURAL LEFT JOIN Adresse;

Quellen:

https://leetcode.com/discuss/21216/its-a-simple-question-of-left-join-my-solution-attached

https://leetcode.com/discuss/53001/comparative-solution-between-left-using-natural-left-join

Dies ist das Ende dieses Artikels über die SQL-Implementierung von LeetCode (175. Zwei Tabellen verbinden). Weitere relevante SQL-Implementierungen zum Verbinden zweier Tabellen 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 (183. Kunden, die noch nie eine Bestellung aufgegeben haben)
  • SQL-Implementierung von LeetCode (182. Doppelte Postfächer)
  • SQL-Implementierung von LeetCode (181. Angestellte verdienen mehr als Manager)
  • SQL implementiert LeetCode (180. Fortlaufende Zahlen)
  • SQL-Implementierung von LeetCode (178. Punkterangliste)
  • SQL-Implementierung von LeetCode (177. N-höchstes Gehalt)
  • SQL-Implementierung LeetCode (176. Zweithöchstes Gehalt)
  • SQL-Implementierung von LeetCode (184. Das höchste Gehalt der Abteilung)

<<:  RGB-Farbtabellensammlung

>>:  Farbverlauf für HTML-Hintergrund durch CSS erreicht

Artikel empfehlen

JS-Prinzip der asynchronen Ausführung und Rückrufdetails

1. JS-Prinzip der asynchronen Ausführung Wir wiss...

Vollständiges HTML des Upload-Formulars mit Bildvorschau

Das Upload-Formular mit Bildvorschaufunktion, der...

Einfaches MySQL-Beispiel zum Sortieren chinesischer Schriftzeichen nach Pinyin

Wenn das Feld, in dem der Name gespeichert ist, d...

Vue-Ereignisparameter $event = Ereigniswertfall

Vorlage <el-table :data="Datenliste"...

Verwenden von Textschatten- und Elementschatteneffekten in CSS

Einführung in Textschatten Verwenden Sie in CSS d...

Zusammenfassung der MySQL-Anweisungen

Inhaltsverzeichnis 1. Datenbank USE auswählen 2. ...

Grafisches Tutorial zur Installation von MySQL 5.6.35 unter Windows 10 64-Bit

1. Laden Sie MySQL Community Server 5.6.35 herunt...

Umfassendes Verständnis des html.css-Überlaufs

Umfassendes Verständnis des html.css-Überlaufs XM...

Vue + Express + Socket realisiert Chat-Funktion

In diesem Artikel wird der spezifische Code von V...

Nginx definiert die Zugriffsmethode für Domänennamen

Ich erstelle derzeit Nginx, kann aber nicht über ...

Detaillierte Erklärung der Fallstricke beim Mischen von npm und cnpm

Inhaltsverzeichnis Ursache Grund Einführung in NP...