ABAP IF,where,with key等如何判断同时满足多条件(标签-SQL|关键词-table)

关于用IF,或者SQL时where条件取数时,还有read table时的with key条件,
例如:IF A = a OR A = b.
或者select…where A = a OR A = b OR A = c.
再或者read table…with key…满足多个值,
同一字段满足多个条件时,可以整合成一行代码吗?
有没有比较简便的写法,不用重复写很多行

另外itab里的某一字段,不用loop能一下子判断其是否满足某些值条件么?
例如itab-A IN ( a OR b OR c )
最近很头疼的问题,也查不到有效答案,可能是查询方法有问题,望大shen解惑

IF A IN (a,b)
或者
SELECT * FROM table_name WHERE A IN (a,b,c)
或者
READ TABLE table_name WITH KEY A IN (a,b,c)


可以使用FOR ALL ENTRIES关键字来避免使用循环来检查ITAB中某一字段的多个条件。

DATA: itab TYPE STANDARD TABLE OF <structure>,
      condition TYPE RANGE OF <datatype>.

condition-sign = 'I'.
condition-option = 'EQ'.
APPEND 'a' TO condition-low.
APPEND 'b' TO condition-low.
APPEND 'c' TO condition-low.

SELECT * FROM <table> INTO TABLE itab
  FOR ALL ENTRIES IN condition
  WHERE <field> IN condition.

IF sy-subrc = 0.
  " ITAB中存在<field>等于a、b或c的行
ELSE.
  " ITAB中不存在<field>等于a、b或c的行
ENDIF.