Die WHERE-Anweisung in SQL, einschließlich BigQuery, ermöglicht es Ihnen, Zeilen auf der Grundlage bestimmter Bedingungen zu filtern. Es dient als leistungsstarkes Tool zum Extrahieren relevanter Daten aus großen Datensätzen.
Schauen wir uns einige Beispielaussagen an, um ihre Verwendung zu veranschaulichen:
Einzelheiten zu dem in diesen Beispielen verwendeten Datensatz finden Sie in Kapitel Eins.
Lassen Sie uns zunächst eine Beispielanweisung ohne WHERE-Anweisung ausführen.
WÄHLEN SIE Name, Kapazität
VON „bigquery-public-data.san_franciso_bikeshare_station_info“
Das Ergebnis zeigt eine Liste mit verschiedenen Stationsnamen und den entsprechenden Kapazitäten an. Außerdem beträgt die Gesamtzahl der Zeilen 472.
Fügen wir nun die WHERE-Klausel hinzu als Kapazität > 15
WÄHLEN SIE Name, Kapazität
VON „bigquery-public-data.san_franciso_bikeshare_station_info“
WO Kapazität > 15
In diesem Beispiel filtern wir Zeilen, in denen die Kapazität größer als 15 ist. Daher werden nur Stationen mit einer Kapazität von mehr als 15 angezeigt. Die Anzahl der Zeilen hat sich verringert, sodass insgesamt 390 Zeilen übrig sind.
Lassen Sie uns unsere Tabelle filtern, wobei der Stationsname „Otis St at Brady St“ lautet
WÄHLEN SIE Name, Kapazität
VON „bigquery-public-data.san_franciso_bikeshare_station_info“
WO Name = 'Otis St in Brady St'
Dieses Ergebnis zeigt eine Tabelle mit Zeilen an, die auf dem Stationsnamen 'Otis St at Brady St' basieren
Hinweis: Achten Sie beim Hinzufügen einer WHERE-Bedingung als Zeichenfolge darauf, den Wert in einfache Anführungszeichen zu setzen, und denken Sie daran, dass bei den Werten zwischen Groß- und Kleinschreibung unterschieden wird.
Wenn Sie Ihre Tabelle mit mehreren unterschiedlichen Werten filtern möchten, können Sie den Operator „ODER“ verwenden, um dies zu erreichen.
WÄHLEN SIE Name, Kapazität
VON „bigquery-public-data.san_franciso_bikeshare_station_info“
WO Name = 'Otis St in Brady St'
ODER Name = 'Filbert St in Fillmore St'
ODER Name = 'Fillmore St in Jefferson St'
ODER Name = 'Turk Blvd an der Stanyan St'
Anstatt den OR-Operator zu verwenden, können Sie dasselbe Ergebnis effizienter erzielen, indem Sie den IN-Operator verwenden. Dieser Ansatz führt zu einer kürzeren und überschaubareren Aussage.
WÄHLEN SIE Name, Kapazität
VON „bigquery-public-data.san_franciso_bikeshare_station_info“
WO IST DER NAME? („Otis St an der Brady St“, „Filbert St an der Fillmore St“, „Fillmore St an der Jefferson St“, „Turk Blvd an der Stanyan St“)
Der IN-Operator bietet eine präzisere Möglichkeit, mehrere Bedingungen anzugeben, wodurch dasselbe Ergebnis wie im vorherigen Beispiel erzielt wird.
Als Nächstes können Sie Ihre Abfrage auch anhand von Daten filtern. Wenn Sie beispielsweise nur Zeilen wünschen, in denen das Ereignis nach dem 20. April 2028 eingetreten ist, können Sie diese Abfrage verwenden. Außerdem verwenden wir hier eine andere Tabelle im Bikeshare-Datensatz - bikeshare_trips.
WÄHLEN SIE Name, Kapazität
VON „bigquery-public-data.san_franciso_bikeshare_trips“
WO start_date > '20.04.2018'
Hier filtern wir Zeilen sowohl nach dem Datumsbereich als auch nach der bestellten Mindestproduktmenge.
WÄHLEN SIE Name, Kapazität
VON „bigquery-public-data.san_franciso_bikeshare_trips“
WO: start_date ZWISCHEN '2018-04-20' UND '2023-04-30'
UND product_quantity_ordered >= 10;
Die Beherrschung der Datenfilterung in BigQuery eröffnet eine Vielzahl von Möglichkeiten für die Datenanalyse und -erkundung. Indem Sie die Macht der WHERE-Anweisung nutzen und bewährte Methoden anwenden, können Sie effizient wertvolle Erkenntnisse aus Ihren Datensätzen extrahieren. Ganz gleich, ob Sie nach numerischen Werten, Zeichenkettenwerten, Datumsangaben filtern oder mehrere Bedingungen kombinieren, wenn Sie diese Techniken verstehen, können Sie fundierte Entscheidungen auf der Grundlage Ihrer Daten treffen.
Darüber hinaus haben wir auch ein YouTube-Tutorial zum gleichen Thema, in dem wir weitere Beispiele für die WHERE-Anweisung vorstellen. Wenn du ein visueller Lerner bist (oder nicht), dann musst du dir unsere ansehen YouTube-Video.
Springe zu Kapitel 3.