Daten innerhalb von Bereichen in SQL auswählen

click fraud protection

Das Strukturierte Abfragesprache (SQL) bietet Datenbankbenutzern die Möglichkeit, benutzerdefinierte Abfragen zu erstellen, um Informationen aus Datenbanken zu extrahieren. In einem früheren Artikel haben wir das Extrahieren von Informationen aus einer Datenbank untersucht mit SQL SELECT-Abfragen. Lassen Sie uns diese Diskussion erweitern und untersuchen, wie Sie fortgeschrittene Leistungen erbringen können Anfragen um Daten abzurufen, die entspricht bestimmten Bedingungen.

Betrachten wir ein Beispiel basierend auf dem allgemein verwendeten Nordwind Datenbank, die häufig als Tutorial mit Datenbankprodukten geliefert wird.

Hier ist ein Auszug aus der Produkttabelle der Datenbank:

instagram viewer
Produkt ID Produktname Lieferanten ID Menge pro Einheit Stückpreis EinheitenAuf Lager
1 Chai 1 10 Kartons x 20 Beutel 18.00 39
2 Ändern 1 24 - 12 oz Flaschen 19.00 17
3 Anissirup 1 12 - 550 ml Flaschen 10.00 13
4 Cajun-Gewürz von Chefkoch Anton 2 48 - 6-Unzen-Gläser 22.00 53
5 Gumbo-Mix von Chefkoch Anton 2 36 Kisten 21.35 0
6 Omas Boysenberry Aufstrich 3 12 - 8-Unzen-Gläser 25.00 120
7 Onkel Bobs getrocknete Bio-Birnen 3 12 - 1 Pfund Packungen. 30.00 15
Produkttabelle

Einfache Randbedingungen

Die ersten Einschränkungen, die wir unserer Abfrage auferlegen werden, beinhalten einfache Randbedingungen. Wir können diese in der WHERE-Klausel der SELECT-Abfrage angeben, indem wir einfache Bedingungsanweisungen verwenden, die mit Standardoperatoren wie , >= und <= konstruiert wurden.

Versuchen wir zunächst eine einfache Abfrage, die es uns ermöglicht, eine Liste aller Produkte in der Datenbank zu extrahieren, die einen Einheitspreis von mehr als 20,00 haben:

SELECT Produktname, Einheitspreis
VON Produkten
WO Stückpreis >20.00

Dies erzeugt eine Liste von vier Produkten, wie unten gezeigt:

Produktname EinheitPreis

Chef Anton's Gumbo Mix 21.35
Cajun-Gewürz von Chefkoch Anton 22.00
Omas Boysenberry Aufstrich 25.00
Onkel Bobs getrocknete Bio-Birnen 30.00

Wir können die WHERE-Klausel auch mit Zeichenfolgenwerten verwenden. Dies entspricht im Grunde Zeichen Zahlen, wobei A den Wert 1 und Z den Wert 26 darstellt. Beispielsweise könnten wir mit der folgenden Abfrage alle Produkte anzeigen, deren Namen mit U, V, W, X, Y oder Z beginnen:

Produktname auswählen
VON Produkten
WO Produktname >= 'T'

Was ergibt das Ergebnis:

Produktname

Onkel Bobs getrocknete Bio-Birnen

Ausdrücken von Bereichen mithilfe von Grenzen

Die WHERE-Klausel ermöglicht es uns auch, eine Bereichsbedingung für einen Wert zu implementieren, indem mehrere Bedingungen verwendet werden. Wenn wir beispielsweise unsere obige Abfrage verwenden und die Ergebnisse auf Produkte mit Preisen zwischen 15,00 und 20,00 beschränken möchten, könnten wir die folgende Abfrage verwenden:

SELECT Produktname, Einheitspreis
VON Produkten
WO Stückpreis > 15,00 UND Stückpreis < 20,00

Dies führt zu dem unten gezeigten Ergebnis:

Produktname EinheitPreis

18.00 Uhr
Wechsel 19.00

Bereiche mit BETWEEN. ausdrücken

SQL bietet auch eine Abkürzung BETWEEN-Syntax, die die Anzahl der einzuschließenden Bedingungen reduziert und die Abfrage lesbarer macht. Anstatt die beiden obigen WHERE-Bedingungen zu verwenden, könnten wir beispielsweise dieselbe Abfrage wie folgt ausdrücken:

SELECT Produktname, Einheitspreis
VON Produkten
WO Einheitspreis ZWISCHEN 15.00 UND 20.00

Wie bei unseren anderen Bedingungsklauseln funktioniert BETWEEN auch mit Zeichenfolgenwerten. Wenn wir eine Liste aller Länder erstellen möchten, die mit V, W oder X beginnen, könnten wir die Abfrage verwenden:

Produktname auswählen
VON Produkten
WO Produktname ZWISCHEN "A" und "D"

Was ergibt das Ergebnis:

Produktname

Anissirup
Chai
Ändern
Gumbo-Mix von Chefkoch Anton
Cajun-Gewürz von Chefkoch Anton

Die WHERE-Klausel ist ein leistungsstarker Teil der SQL-Sprache, mit dem Sie Ergebnisse auf Werte beschränken können, die in bestimmte Bereiche fallen. Es wird sehr häufig verwendet, um Geschäftslogik auszudrücken und sollte ein Teil des Toolkits jedes Datenbankprofis sein. Es ist oft hilfreich, allgemeine Klauseln in eine gespeicherte Prozedur zu integrieren, um sie für Personen ohne SQL-Kenntnisse zugänglich zu machen.

instagram story viewer