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

Bringen Sie Ihnen bei, wie Sie ein React+Antd-Projekt von Grund auf erstellen

Bei den vorherigen Artikeln handelte es sich um m...

Detaillierte Erklärung zur Verwendung von Filtereigenschaften in CSS3

Als ich kürzlich das Intranet-Portal änderte, sti...

Lösen Sie das Problem der leeren Lücke am unteren Rand des Img-Bildes

Bei der Arbeit an einem aktuellen Projekt habe ic...

Lassen Sie uns über Destrukturierung in JS ES6 sprechen

Überblick es6 fügt eine neue Möglichkeit hinzu, b...

Analyse der grundlegenden Verwendung von ul und li

Navigation, kleine Datenmenge Tabelle, zentriert &...

Möglichkeiten zur Verbesserung der MongoDB-Leistung

MongoDB ist eine Hochleistungsdatenbank, bei der ...

Beispiel für den Export und Import von Docker-Containern

Inhaltsverzeichnis Docker-Container exportieren D...

HTML-Tbody-Verwendung

Strukturierte Tabelle (nur IExplore) 1) Gruppieren...