Ab hier? Diese Lektion ist Teil einer ausführlichen Anleitung zur Verwendung von SQL für die Datenanalyse. Schauen Sie sich den Anfang an.

In dieser Lektion behandeln wir:

  • Der LINKE JOIN-Befehl
  • Übungsprobleme

Der LINKE JOIN-Befehl

Beginnen wir mit dem Ausführen einer INNER JOIN im Crunchbase-Datensatz und werfen einen Blick auf die Ergebnisse. Wir schauen uns einfach company-permalink in jeder Tabelle sowie ein paar andere Felder an, um ein Gefühl dafür zu bekommen, was tatsächlich verbunden wird.,

SELECT companies.permalink AS companies_permalink, companies.name AS companies_name, acquisitions.company_permalink AS acquisitions_permalink, acquisitions.acquired_at AS acquired_date FROM tutorial.crunchbase_companies companies JOIN tutorial.crunchbase_acquisitions acquisitions ON companies.permalink = acquisitions.company_permalink

Möglicherweise wird“ 280 North “ zweimal in dieser Liste angezeigt. Dies liegt daran, dass es zwei Einträge in der Tabelle tutorial.crunchbase_acquisitions, die beide mit der Tabelle tutorial.crunchbase_companies verknüpft werden.,

Versuchen Sie nun, diese Abfrage als LEFT JOIN:

SELECT companies.permalink AS companies_permalink, companies.name AS companies_name, acquisitions.company_permalink AS acquisitions_permalink, acquisitions.acquired_at AS acquired_date FROM tutorial.crunchbase_companies companies LEFT JOIN tutorial.crunchbase_acquisitions acquisitions ON companies.permalink = acquisitions.company_permalink

Sie können sehen, dass die ersten beiden Unternehmen aus der vorherigen Ergebnismenge, #waywire und 1000memories, durch eine Reihe von Ergebnissen, die Nullwerte in der acquisitions_permalink

Dies liegt daran, dass der Befehl LEFT JOIN die Datenbank anweist, alle Zeilen in der Tabelle in der Klausel FROM zurückzugeben, unabhängig davon, ob sie Übereinstimmungen in der Tabelle in der Klausel LEFT JOIN haben.,

Schärfen Sie Ihre SQL-Kenntnisse

Sie können die Unterschiede zwischen einer LEFT JOIN und einer JOIN durch Lösen dieser Übungsprobleme untersuchen:

Übungsproblem

Schreiben Sie eine Abfrage, die einen inneren Join zwischen der tutorial.crunchbase_acquisitions div>Tabelle und die tutorial.crunchbase_companies Tabelle, aber anstatt einzelne Zeilen aufzulisten, zählen Sie die Anzahl der Nicht-Null-Zeilen in jeder Tabelle.,

Probieren Sie es aus Siehe die Antwort

Übungsproblem

Ändern Sie die obige Abfrage als LEFT JOIN. Beachten Sie den Unterschied in den Ergebnissen.

Probieren Sie es aus Siehe die Antwort

Nachdem Sie nun ein Gefühl dafür haben, wie Left Joins funktionieren, versuchen Sie es härter Aggregationsproblem:

Übungsproblem

Zählen Sie die Anzahl der eindeutigen Unternehmen (nicht doppelt zählen Unternehmen) und einzigartige erworbene Unternehmen nach Staat., Fügen Sie keine Ergebnisse hinzu, für die keine Zustandsdaten vorliegen, und ordnen Sie sie nach der Anzahl der erworbenen Unternehmen vom höchsten zum niedrigsten an.

Probieren Sie es aus Siehe die Antwort

0