SAP NetWeaver AS ABAP Release 750, ©Copyright 2016 SAP AG. All rights reserved.
ABAP - Keyword Documentation →
ABAP - Reference →
Processing External Data →
ABAP Database Accesses →
Open SQL →
Open SQL - Read Accesses →
SELECT →
SELECT - WHERE
Quick Reference
Syntax
... [FOR ALL ENTRIES IN itab] WHERE
sql_cond ...
Effect
The addition WHERE restricts the number of rows included in the results set
by the statement SELECT, by using a logical expression
sql_cond. The logical expression compares the content of columns in the database with the content of
host variables, literals, or with the content
of other columns. The optional addition FOR
ALL ENTRIES can be used to compare the content of a column in the database with a component with all rows of a structured internal table itab.
The logical expression sql_cond is either true, false, or unknown. The expression is unknown if one of the columns involved in the database contains a
null value and is evaluated
with another comparison as IS NULL. A row is only included in the results set if the logical expression is true.
Except for columns of type STRING or RAWSTRING plus LCHR, LRAW, all columns of the
data sources specified after
FROM can be evaluated after the WHERE condition. The columns do not necessarily have to be a part of the results set.
Notes
-
The client ID cannot be queried in the WHERE condition, if automatic
client handling is
not deactivated using the addition CLIENT
SPECIFIED after FROM.
This is usually tested by the syntax check. If the client ID is queried in the WHERE
condition and CLIENT SPECIFIED is not specified (which is sometimes the case
when using alternative table names, in joins, and when specified dynamically), automatic client handling
is not switched off. In this case, there are two conditions for the client column: the implicit condition
of the automatic client handler for the current client and the explicitly specified condition. If the current client is not specified in the explicitly specified condition, the result sets is empty.
-
The WHERE condition of the SELECT statement described
here includes the WHERE conditions of the Open SQL statements
DELETE,
OPEN CURSOR, and UPDATE.
-
The logical expressions of the WHERE condition can also all be used after
the addition HAVING, and
sometimes in the ON condition
of a Join expression after the addition FROM.
-
If the data source is accessed using generic
SAP buffering, the buffered area must be specified in full in the WHERE condition. If not, buffering is bypassed.
-
If the data sources are accessed using single record buffering, the conditions joined using AND
in the WHERE condition must be specified for all key fields of the primary key. If not, buffering is bypassed.
Continue
WHERE - sql_cond
WHERE - FOR ALL ENTRIES