使用 WHERE 子句查找值的子集

就像排除行,以下查询假定使用符合 ANSI 的数据库。所有者限定符在引号中,以保护文字字符串的区分大小写。

图: 查询

SELECT lname, city, state, phone
          FROM 'Aleta'.customer
          WHERE state = 'AZ' OR state = 'NJ'
          ORDER BY lname;
          
          SELECT lname, city, state, phone
          FROM 'Aleta'.customer
          WHERE state IN ('AZ', 'NJ')
          ORDER BY lname;
查询中的每个语句在 Aleta.customer 表的 state 列中检索包括 AZNJ 子集的行。

图: 查询结果

lname      city            state phone
          
          Jewell     Phoenix         AZ    602-265-8754
          Lessor     Phoenix         AZ    602-533-1817
          O'Brian    Princeton       NJ    609-342-0054
          Shorter    Cherry Hill     NJ    609-663-6079

不能使用 IN 关键字来测试 TEXT 或 BYTE 列。

另外,当使用 GBase 8s 时,不能使用 IN 关键字来测试 BLOB 或 CLOB 列。

在查询(对符合 ANSI 的数据库进行查询的示例)中,表所有者名称两边没有引号。鉴于图 1中两个语句搜索 Aleta.customer 表,以下查询搜索表 ALETA.customer,这是一个不同的表,原因在于符合 ANSI 的数据库查看所有者名称的方式。

图: 查询

SELECT lname, city, state, phone
          FROM Aleta.customer
          WHERE state NOT IN ('AZ', 'NJ')
          ORDER BY state; 
上一个查询添加了关键字 NOT IN,以便子集更改为排除 state 列中的子集 AZNJ,下图以 state 列的顺序显示结果。

图: 查询结果

lname        city            state phone
          
          Pauli        Sunnyvale       CA    408-789-8075
          Sadler       San Francisco   CA    415-822-1289
          Currie       Palo Alto       CA    415-328-4543
          Higgins      Redwood City    CA    415-368-1100
          Vector       Los Altos       CA    415-776-3249
          Watson       Mountain View   CA    415-389-8789
          Ream         Palo Alto       CA    415-356-9876
          Quinn        Redwood City    CA    415-544-8729
          Miller       Sunnyvale       CA    408-723-8789
          Jaeger       Redwood City    CA    415-743-3611
          Keyes        Sunnyvale       CA    408-277-7245
          Lawson       Los Altos       CA    415-887-7235
          Beatty       Menlo Park      CA    415-356-9982
          Albertson    Redwood City    CA    415-886-6677
          Grant        Menlo Park      CA    415-356-1123
          Parmelee     Mountain View   CA    415-534-8822
          Sipes        Redwood City    CA    415-245-4578
          Baxter       Oakland         CA    415-655-0011
          Neelie       Denver          CO    303-936-7731
          Wallack      Wilmington      DE    302-366-7511
          Hanlon       Jacksonville    FL    904-823-4239
          Henry        Brighton        MA    617-232-4159
          Satifer      Blue Island     NY    312-944-5691
          Putnum       Bartlesville    OK    918-355-2074