过滤数据

-- 由于很少需要检索表中的所有行,需要限定条件根据特定操作(搜索条件|过滤条件)或报告的需要提取表数据的子集

-- SELECT语句中,使用where字句进行过滤,where字句在表明(FROM字句)之后给出
SELECT prod_name,prod_price
FROM Products
WHERE prod_price = 3.49;

/* 注意在客户端应用进行数据库的操作会极大的影响应用的性能,服务器不得不通过网络发送多余的数据,会导致网络宽带的浪费。*/

-- 当ORDER BY 和WHERE 字句同时使用时,必须让ORDER BY 字句放置最后,否则会报错。

/* WHERE字句操作符
= 等于
<> 不等于
!= 不等于
< 小于
<= 小于等于
!< 不小于
> 大于
>= 大于等于
!> 不大于
BETWEEN 在指定的两个值之间
IS NULL 为NULL值
*/
#并不是所有的DBMS都支持

-- 检查单个值
SELECT prod_name,prod_price
FROM Products
WHERE prod_price < 10;

SELECT prod_name,prod_price
FROM Products
WHERE prod_price <= 10;

输出结果同上,因为没有等于10美元的产品

 

-- 不匹配检查
SELECT vend_id,prod_name
FROM Products
WHERE vend_id <> 'DLL01';

#单引号用来限定字符串,与数值列进行比较的值不用引号

SELECT vend_id,prod_name
FROM Products
WHERE vend_id != 'DLL01';

输出结果和上面相同

-- 范围值检查(BETWEEN操作符,特点是需要两个值,一个开始值,一个结束值)
SELECT prod_name,prod_price
FROM Products
WHERE prod_price BETWEEN 5 AND 10;

-- 空值检查(NULL,它与字段包含0、空字符串或仅仅包含空格不同)
/* SELECT子句有一个特殊的WHERE子句,可用来检查具有NULL值的列(IS NULL)*/
SELECT prod_name
FROM Products
WHERE prod_price IS NULL;

 

 由于表中没有这样的行,所以没有返回数据

SELECT *
FROM Customers;

SELECT cust_name
FROM Customers
WHERE cust_email IS NULL;

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值