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

Was ist dies in einer Punkt-für-Punkt-Reihe von JavaScript?

Verstehe das Vielleicht haben Sie this in anderen...

Einführung von ECharts in das Vue-Projekt

Inhaltsverzeichnis 1. Installation 2. Einleitung ...

So importieren und exportieren Sie Cookies und Favoriten in FireFox

FireFox ist ein weit verbreiteter Browser mit zah...

Lösung für das Problem des achtstündigen Unterschieds bei der MySQL-Einfügezeit

Lösen Sie das Problem des achtstündigen Zeitunter...

Reiner CSS-Code zum Erzielen von Fluss und dynamischen Linieneffekten

Ideen: Eine äußere Box legt den Hintergrund fest;...

CocosCreator implementiert Skill-Kühleffekt

CocosCreator realisiert Skill-CD-Effekt In vielen...

4 Möglichkeiten zur Implementierung von Routing-Übergangseffekten in Vue

Vue-Router-Übergänge sind eine schnelle und einfa...

Vue implementiert die Bottom-Query-Funktion

In diesem Artikelbeispiel wird der spezifische Co...

MySQL-Indexprinzip und Analyse von Anwendungsbeispielen

Dieser Artikel veranschaulicht anhand von Beispie...

Detaillierte Erklärung von Cgroup, dem Kernprinzip von Docker

Das leistungsstarke Tool cgroup im Kernel kann ni...

Chinesische Parameterbeschreibung und Verwendungsbeispiele für ffmpeg

1. Wenn ffmpeg Videodateien überträgt, können die...

Zusammenfassung der Fallstricke bei Virtualbox Centos7 NAT+Host-Only-Netzwerken

Inhaltsverzeichnis 1. Problemhintergrund 2. Welch...

Detaillierte Erklärung der Tomcat-Verzeichnisstruktur

Inhaltsverzeichnis Verzeichnisstruktur bin-Verzei...