数据库SQL语句学习笔记(4)-过滤数据

1.数据库检索要求满足特定搜索条件的行会被检索出来,搜索条件也被称作是过滤条件。

在SELECT语句中,数据更具WHERE子句进行搜索条件过滤,在FROM子句之后给出

SELECT prod_name,prod_price 
FROM Products 
WHERE prod_price=3.49;

输出:

分析:满足prod_price为3.49的值都会显示出来。

同时使用ORDER BY和WHERE子句时,ORDER BY位于WHERE之后

2.WHERE子句操作符

操作符=<>!=<><=>=!!>BETWEENIS NULL
说明等于不等于不等于小于大于小于等于大于等于不小于不大于在指定值之间为NULL

BETWEEN 5 AND 10         在5和10之间

SELECT prod_name,prod_price 
FROM Products 
WHERE prod_price IS NULL;

这个语句返回所以没有价格的行,不是0,也不是空格

3.操作符:用来联结或改变WHERE子句中的子句的关键字,也称为逻辑操作符。

  • AND操作符:
    SELECT prod_id,prod_price,prod_name 
    FROM Products 
    WHERE vend_id='DLL01' AND prod_price <=4;

    输出:

  此SQL语句检索供应商DLLO1制造的且价格小于等于4美元的所以商品的编号,价格和名称。WHERE的两条子句由AND联结在一起,同时满足AND两边的条件的行会被检索出来。这条语句只有两个过滤条件,多个的话也用AND联结。

  • OR操作符: 
    SELECT prod_id,prod_price,prod_name 
    FROM Products 
    WHERE vend_id='DLL01' OR prod_price <=4;

    OR操作符表明两端检索条件只要有一个满足就会被检索出来。

AND和OR也可以一起使用,但是AND优先级比较高,为了是含义更加清楚,可以给条件加上园括号,例如:

SELECT prod_id,prod_price,prod_name 
FROM Products 
WHERE (vend_id='DLL01' OR vend_id='BRS01') AND prod_price >=10;
  • IN操作符:用来指定条件范围,范围中的每个条件都可以进行匹配。IN取一组由逗号分开,括在圆括号中的合法值。
    SELECT prod_id,prod_price,prod_name 
    FROM Products 
    WHERE vend_id IN ('DLL01','BRS01');

    输出:
  • NOT操作符:否定其后所有的条件
    SELECT prod_name 
    FROM Products 
    WHERE NOT vend_id='DLL01';

    所有vend_id不是DLL01的行都被检索出来

4.通配符

如果不知道你要搜索的特定值,只知道一部分信息,就需要构造通配符搜索模式。

通配符:用来匹配值的一部分的特殊字符

搜索模式:由字面值、通配符或两者结合构成的搜索条件。

通配符本身实际上是SQL的WHERE子句中的特殊含义的字符,SQL支持几种通配符,使用LIKE操作符。只能用于文本字段,非文本字段不能使用通配符搜索。

  • %通配符:表示任意字符出现任意次数,可以使0次,1次或多次,不能匹配NULL。例如为了找出所有以词Fish开头的产品,可以用
    SELECT prod_id,prod_name
    FROM Products
    WHERE prod_name LIKE 'Fish%';

     

  • _下划线通配符:匹配任意单个字符
  • []方括号通配符:指定一个字符集,它必须匹配指定位置的一个字符。[JM]匹配J或者M,[^JM]匹配不是J和M的字符。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值