Einschließen oder Ausschließen von Zeilen (Visual Database Tools)
Gilt für: SQL Server
Wenn Sie die Anzahl von durch eine SELECT-Abfrage zurückgegebenen Zeilen einschränken möchten, erstellen Sie Suchbedingungen oder Filterkriterien. In SQL werden Suchbedingungen entweder in die WHERE-Klausel der Anweisung eingefügt oder – wenn Sie eine Aggregatabfrage erstellen – in die HAVING-Klausel.
Hinweis
Sie können auch Suchbedingungen definieren, welche die von einer UPDATE-, INSERT RESULTS-, INSERT VALUES-, DELETE- oder MAKE TABLE-Abfrage betroffenen Zeilen angeben.
Sobald die Abfrage ausgeführt wird, untersucht Datenbank-Engine die Suchbedingung und wendet sie auf jede Zeile in den durchsuchten Tabellen an. Wenn eine Zeile die Bedingungen erfüllt, wird sie in die Abfrage aufgenommen. Eine Suchbedingung, die z. B. alle Mitarbeiter in einer bestimmten Region ermittelt, könnte folgendermaßen formuliert werden:
region = 'UK'
Die Definition der Kriterien für die Auswahl der Ergebniszeilen kann über mehrere Suchbedingungen erfolgen. Das folgende Kriterium für die Suche besteht z. B. aus zwei Suchbedingungen. Die Abfrage nimmt eine Zeile nur dann in das Resultset auf, wenn sie beide Bedingungen erfüllt.
region = 'UK' AND product_line = 'Housewares'
Sie können Bedingungen durch AND oder OR kombinieren. Im oben dargestellten Beispiel wird AND verwendet. Im Gegensatz hierzu sind die Bedingungen im folgenden Beispiel durch ein OR kombiniert. Das zurückgegebene Abfrageergebnis enthält alle Zeilen, die mindestens eine oder beide Suchbedingungen erfüllen:
region = 'UK' OR product_line = 'Housewares'
Für eine Spalte können auch mehrere Suchbedingungen kombiniert werden. Im folgenden Beispiel sind zwei Bedingungen für die Spalte Region kombiniert:
region = 'UK' OR region = 'US'
Ausführliche Informationen zum Kombinieren von Suchbedingungen finden Sie unter den folgenden Themen:
Konventionen für das Kombinieren von Suchbedingungen im Kriterienbereich (Visual Database Tools)
Angeben mehrerer Suchbedingungen für eine Spalte (Visual Database Tools)
Angeben mehrerer Suchbedingungen für mehrere Spalten (Visual Database Tools)
Kombinieren von Bedingungen, wenn AND Vorrang hat (Visual Database Tools)
Kombinieren von Bedingungen, wenn OR Vorrang hat (Visual Database Tools)
Beispiele
Es folgen einige Beispiele für Abfragen mit verschiedenen Operatoren und Zeilenkriterien:
Literalwert : Ein einzelner numerischer oder logischer Wert, ein Textwert oder eine Datumsangabe. Im folgenden Beispiel wird ein Literalwert für die Suche nach allen Zeilen für Mitarbeiter in Großbritannien verwendet:
WHERE region = 'UK'
Spaltenverweis : Vergleicht die Werte einer Spalte mit den Werten einer anderen Spalte. Im folgenden Beispiel wird in der
products
-Tabelle nach allen Zeilen gesucht, in denen für die Produktionskosten ein kleinerer Wert als für die Frachtkosten angegeben ist:WHERE prod_cost < ship_cost
Funktion : Ein Verweis auf eine Funktion, die vom Back-End der Datenbank aufgelöst werden kann, um einen Wert für die Suche zu berechnen. Bei der Funktion kann es sich um eine durch den Datenbankserver definierte Funktion oder um eine benutzerdefinierte Funktion handeln, die einen Skalarwert zurückgibt. Im folgenden Beispiel wird nach allen am jeweiligen Tag erteilten Aufträgen gesucht (die GETDATE( )-Funktion liefert das aktuelle Datum):
WHERE order_date = GETDATE()
NULL : Im folgenden Beispiel wird in einer Tabelle mit dem Namen
authors
nach allen Autoren gesucht, für die der Vorname in der Datenbank gespeichert wurde:WHERE au_fname IS NOT NULL
Berechnung : Das Ergebnis einer Berechnung, die Literalwerte, Spaltenverweise oder andere Ausdrücke enthalten kann. Im folgenden Beispiel wird in einer Tabelle mit dem Namen
products
nach allen Zeilen gesucht, in denen der Einzelhandelspreis mindestens doppelt so hoch ist wie der Herstellungspreis:WHERE sales_price > (prod_cost * 2)
Weitere Informationen
Themen zur Vorgehensweise: Entwerfen von Abfragen und Sichten (Visual Database Tools)
Angeben von Suchkriterien (Visual Database Tools)
Erstellen von Abfragen mit Parametern (Visual Database Tools)