数据库过滤数据(3)

  1. IN 查找值列表中具有值的行
    IN 运算符是一个逻辑运算符
    IN 运算符等效于多个 OR 运算符,因此,以下语法是等效的:
    column IN (v1, v2, v3)
    column = v1 OR column = v2 OR column = v3
    要取消 IN 运算符,请使用 NOT IN 运算符,如下所示:
    column | expression NOT IN ( v1, v2, v3, …)
    以下示例使用 IN 运算符查找价格为 299.99 或 466.99 或 489.99 的产品。
    SELECT
    product_id,
    product_name,
    category_id,
    model_year,
    list_price
    FROM
    production.products
    WHERE
    list_price IN (299.99, 369.99, 489.99)
    ORDER BY
    list_price DESC;
    SQL

  2. Like 查找其值包含字符串的行
    SQL Server LIKE 运算符的语法:
    column IN (v1, v2, v3)
    column = v1 OR column = v2 OR column = v3
    pattern模式
    模式是要在列或表达式中搜索的字符序列。它可以包含以下有效通配符:
    通配符百分比( % ):任何零个或多个字符的字符串。
    下划线( _ )通配符:任何单个字符。
    [list of characters] 通配符:指定集合中的任何单个字符。
    [character-character] :指定范围内的任何单个字符。
    [^] :不在列表或范围内的任何单个字符。
    通配符使 LIKE 运算符比等于( = )和不等于( != )字符串比较运算符更灵活。
    转义符
    转义字符指示 LIKE 运算符将通配符视为常规字符。转义字符没有默认值,必须仅计算为一个字
    符。
    A. %(百分比)通配符
    查找姓氏( last_name )以字母 z 开头的客户:
    SELECT
    customer_id,
    first_name,
    last_name
    FROM
    sales.customers
    WHERE
    last_name LIKE ‘z%’
    ORDER BY
    first_name;
    以下示例使用 LIKE 运算符查找名称中包含字符串 Cruiser 的产品:
    SELECT
    product_id,
    product_name,
    category_id,
    model_year,
    list_price
    FROM
    production.products
    WHERE
    product_name LIKE ‘%Cruiser%’
    ORDER BY
    list_price;
    SQL
    B. _(下划线)通配符
    下划线代表单个字符。 例如,以下语句返回第二个字符为字母 u 的客户:
    SELECT
    customer_id,
    first_name,
    last_name
    FROM
    sales.customers
    WHERE
    last_name LIKE ‘_u%’
    ORDER BY
    first_name;

    C. [list of characters]通配符
    带有字符列表的方括号,例如: [ABC] 表示单个字符,必须是列表中指定的字符之一。
    例如,以下查询返回姓氏( last_name )中第一个字符为 Y 或 Z 的客户:
    SELECT
    customer_id,
    first_name,
    last_name
    FROM
    sales.customers
    WHERE
    last_name LIKE ‘[YZ]%’
    ORDER BY
    last_name;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值