zoukankan      html  css  js  c++  java
  • SQL之过滤数据(where子句)

    1.使用基础where子句

    select prod_id,prod_price
    from Products
    where prod_price = 3.49;

    检索products表中两个列,只返回prod_price值等于3.49的行。

    注意:由于数据库软件的指定。结果可能是3.490,3.4900。

    2.where子句操作符

    image

    注意:并非所有数据库软件都支持所有操作符。

    2.1具体例子:

    价格小于10的产品:

    select prod_name, prod_price
    from Products
    where prod_price < 10;

    id不是DLL01项:

    select vent_id,prod_name
    from Products
    where vent_id <> 'DILL01';

    select vent_id,prod_name
    from Products
    where vent_id != 'DILL01';

    价格在5和10之间的所有产品:

    select prod_name, prod_price
    from Products
    where prod_price between 5 and 10 ;

    空值(null)

    select cust_name
    from Customers
    where cust_email IS NULL;

    3.组合where子句

    AND操作符

    select prod_id,prod_price,prod_name
    from Products
    where prod_id = 'DLL01' and prod_price <=4;

    同时满足prod_id等于DLL01和prod_price小于等于4。

    OR操作符

    select prod_id,prod_price,prod_name
    from Products
    where prod_id = 'DLL01' or prod_price <=4;

    相对于and操作符,只要满足其中一条就可以。

    为了消灭歧义,在组合where子句中使用圆括号。如下两个语句有着截然不同的意思:

    select prod_id,prod_price,prod_name
    from Products
    where (prod_id = 'DLL01' or prod_id = 'BRS01')
           and prod_price >= 10;

    首先会过滤括号内的条件

    select prod_id,prod_price,prod_name
    from Products
    where prod_id = 'DLL01' or prod_id = 'BRS01'
           and prod_price >= 10;

    由于SQL语言优先处理AND操作符,所以结果就变成满足prod_id='DLL01’或者prod_id=‘BRS01’+ prod_price>=10

    IN操作符

    select prod_id,prod_price,prod_name
    from Products
    where vend_id IN ('DLL01', 'BRS01')
    order by prod_name;

    NOT操作符

    select prod_id,prod_price,prod_name
    from Products
    where not vent_id = 'DLL01'
    order by prod_name;

    也可以用<>,!=操作符,具体的看数据库软件的设置

  • 相关阅读:
    PHP Document 注释标记及规范 && PHP命名规范
    JavaScript 最佳实践
    PHP正则表达式详解(三)
    $_SERVER["SCRIPT_NAME"]、$_SERVER["PHP_SELF"]、$_SERVER["QUERY_STRING"]、$_SERVER["REQUEST_URI"]
    PHP判断远程文件是否存在
    HDOJ1251-统计难题(trie树入门)
    Spark的日志配置
    实现Android 动态载入APK(Fragment or Activity实现)
    OC与JS互相调用
    mac os使用lsusb命令和连接未知的Android设备
  • 原文地址:https://www.cnblogs.com/haoqirui/p/10352400.html
Copyright © 2011-2022 走看看