南大通用GBase8s 常用SQL语句(214)

SELECT 的 WHERE 子句
WHERE 子句为 GBase 8s 扩展连接指定连接条件,为符合 ANSI 的连接指定后连接过滤器,和对数据指定搜索条件。
WHERE 子句
在这里插入图片描述
元素 描述 限制 语法
Logical_Operator 两个条件的组合 有效的选项为逻辑并(= OR 或 OR NOT)或逻辑与(= AND 或 AND NOT) 带有 AND 或 OR 的条件
subquery 内嵌的查询 不可包括 FIRST 或 ORDER BY 关键字 SELECT 语句
在 WHERE 子句中使用条件
在 WHERE 子句中,您可使用这些简单的条件或比较:
关系运算符条件
IN 或 BETWEEN . . . AND
IS NULL 或 IS NOT NULL
LIKE 或 MATCHES
您还可在 WHERE 子句中使用 SELECT 语句;这称为子查询。在子查询中,下列 WHERE 子句运算符是有效的:
IN 或 EXISTS
ALL、ANY 或 SOME
要获取更多信息,请参阅 条件。
在 WHERE 子句中,聚集函数不是有效的,除非它是子查询的一部分,或是来源自父查询的相关的列上,且 WHERE 子句在 HAVING 子句之内的子查询中。
关系运算符条件
如果关系运算符的每一边的表达式满足该表达式指定的关系,则关系运算符条件是满足的。下列语句使用大于(>)和等于(=)关系运算符:
SELECT order_num FROM orders
WHERE order_date > ‘6/04/08’;
SELECT fname, lname, company
FROM customer
WHERE city[1,3] = ‘San’;
‘San’ 需要加上单引号,因为该子字符串来自字符列。请参阅 关系运算符条件。
WHERE 子句中的空格字符串和空字符串
对于 LVARCHAR、NVARCHAR 或 VARCHAR 列,指定列值等于空字符串的带有 WHERE 子句的查询(
WHERE varlength_col = ‘’
)返回的结果集,与其中的 WHERE 子句指定等于空格(ASCII 32)字符的字符串的同一查询是一样的。
例如,如果 varlength_col 是类型 VARCHAR、NVARCHAR 或 LVARCHAR,则下列 WHERE 子句示例在功能上完全等同于指定等于空字符串的 WHERE 子句:
WHERE varlength_col = ’ ’
WHERE varlength_col = ’ ’
WHERE varlength_col = ’ ’
因此,对于内建的可变长度字符数据类型,在空字符串与全由一个或多个空白字符组成的字符串之间,没有区别。(然而,请注意,查询过滤器
WHERE varlength_col IS NULL
不等同于先前的 WHERE 子句示例,且如果 varlength_col 值为 NULL,则返回一个不同的结果集。
IN 条件
当在该关键字右边的值的列表中包括 IN 关键字左边的表达式时,IN 条件是满足的。
下列示例展示 IN 条件:
SELECT lname, fname, company FROM customer
WHERE state IN (‘CA’,‘WA’, ‘NJ’);
SELECT * FROM cust_calls
WHERE user_id NOT IN (USER );
要获取更多信息,请参阅 IN 子查询。
BETWEEN 条件
当 BETWEEN 左边的值在 BETWEEN 右边的两个值的范围之内时,BETWEEN 条件是满足的。下列示例中的前两个查询在 BETWEEN 关键字之后使用文字值。第三个查询使用内建的 CURRENT 函数和一个文字间隔来搜索当天与七天前之间的日期。
SELECT stock_num, manu_code FROM stock
WHERE unit_price BETWEEN 125.00 AND 200.00;
SELECT DISTINCT customer_num, stock_num, manu_code
FROM orders, items
WHERE order_date BETWEEN ‘6/1/07’ AND ‘9/1/07’;
SELECT * FROM cust_calls WHERE call_dtime
BETWEEN (CURRENT - INTERVAL(7) DAY TO DAY) AND CURRENT;
要获取更多信息,请参阅 BETWEEN 条件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值