zoukankan      html  css  js  c++  java
  • 条件查询

    条件查询

    1.关系运算符的查询

    在SELECT语句中,最常见的是使用WHERE子句指定查询条件对数据进行过滤,其语法格式如下:

           SELECT 字段名1,字段名2……

           FROM 表名

           WHERE 条件表达式

    例如:(1)查询在student表中id为4的学生姓名,SQL语句如下所示:

    SELECT id,name FROM student WHERE id=4;

    结果如下所示:

     

    (2)查询student表中grade大于80的学生姓名,执行结果如下所示:

     

    2.带IN关键字的查询

    IN关键字用于判断某个字段的值是否在指定集合中,如果字段的值在集合中,则满足条件,该字段所在的记录将被查询出来。语法格式如下所示:

    SELECT *字段名1,字段名2……

    FROM 表名

    WHERE 字段名【NOT】IN (元素1,元素2……)

    在上面的语法格式中,“元素1、元素2…”表示集合中的元素,即指定的条件范围。NOT是可选参数,使用NOT表示查询不在IN关键字指定集合范围中的记录。

    例如:(1)查询student表中id值为1、2、3的记录,SQL语句如下所示:

    SELECT id,grade,name,gender FROM student WHERE id IN(1,2,3);

     

    (2) 查询student表中id值不为1、2、3的记录,如图所示:

     

    3.带BETWEEN AND 关键字的查询

    BETWEEN AND用于判断某个字段的值是否在指定的范围之内,如果字段的值在指定范围内,则满足条件,该字段所在的记录将被查询出来,反之则不会被查询出来。语法格式如下所示:

    SELECT *{字段名1,字段名2……}

           FROM 表名

           WHERE 条件表达式【NOT】 BTETWEEN 值1 AND 值2;

    “值1”表示范围条件的起始值,“值2”表示范围条件的结束值。通常情况下“值1”小于“值2”,否则查询不到任何结果。

    例如:(1)查询student表中id值在2和5之间的学生姓名,SQL语句如下所示:

      SELECT id,name FROM student WHERE id BETWEEN 2 AND 5;

       执行结果如下所示:

          

    (2)查询student表中id值不在2和5之间的学生姓名,SQL语句如下所示:

        SELECT id,name FROM student WHERE id NOT BETWEEN 2 AND 5;

       执行结果如下所示:

     

    4.空值查询

      在数据表中,某些列的值可能为空值(NULL),空值不同于0,也不同于空字符串。在MySQL中,使用IS NULL关键字来判断字段的值是否为空值。

    SELECT *字段名1,字段名2……

    FROM 表名

    WHERE 字段名 IS【NOT】NULL;

    在上面的语法格式中,“NOT”是可选参数,使用NOT关键字用于判断字段不是空值。

    例如:(1)查询student表中gender为空值的记录,SQL语句如下所示:

      SELECT id,name,grade,gender FROM student WHERE gender IS NULL;

      执行结果如下所示:

      

    (2)查询student表中gender不为空值的记录,SQL语句如下所示:

       SELECT id,name,grade,gender FROM student WHERE gender IS NOT NULL;

        执行结果如下所示:

         

    5.带DISTINCT 关键字的查询

    执行结果如下所示:

      

    如图所示:这次查询只返回了3条记录的gender值,分别为“男”、“女”和“NULL”,不再有重复值。

    6.带LIKE 关键字的查询

      LIKE关键字,用于对字符串进行模糊查询。

    SELECT *|{字段名1,字段名2……}

    FROM 表名

    WHERE 字段名 【NOT】LIKE ‘匹配字符串’;

    例如:(1)查找student表中name字段值以字符“s”开头的学生id,SQL语句如下所示:

     SELECT id,name FROM student WHERE name LIKE "s%";

    结果如图所示:

     

    (2)查询student表中name字段值包含字符“y”的学生id,执行结果如下所示:

     

    (3)查询student表中name字段值不包含字符“y”的学生id,执行结果如下所示:

     

    7.带AND关键字的多条件查询

        在MySQL中,提供了一个AND关键字,使用AND关键字可以连接两个或者多个查询条件,只有满足所有条件的记录才会被返回。语法格式如下所示:

         SELECT *|{字段名1,字段名2,……}

         FROM 表名

         WHERE 条件表达式1 AND 条件表达式2 […… AND 条件表达式n];

    例如:(1)查询student表中id字段值小于5,并且gender字段值为“女”的学生姓名,SQL语句如下所示:

      SELECT id,name,gender FROM student WHERE id<5 AND gender='女';

    执行结果如下所示:

     

    (2)查询student表中id字段值在1、2、3、4之中,name字段值以字符串“ng”结束,并且grade字段值小于80的记录.

     

    8.带OR关键字的多条件查询

      OR关键字连接多个查询条件,只要记录满足任意一个条件就会被查询出来。

      例如:(1)查询student表中id字段值小于3或者gender字段值为“女”的学生姓名,SQL语句及其执行结果如下所示:

     

    (2)查询student表中满足条件name字段值以字符“h”开始,或者gender字段值为“女”,或者grade字段值为100的记录,SQL语句及其执行结果如下所示:

     

  • 相关阅读:
    PHP 将二维数组中某列值作为数组的键名
    MySQL 8下忘密码后重置密码
    单一职责原则
    Linux下安装SVN服务端小白教程
    go 代码玩耍
    centos7 docker开启认证的远程端口2376配置教程
    Dockerfile RUN,CMD,ENTRYPOINT命令区别
    wait-for-it.sh脚本控制docker-compose启动顺序详解
    阿里云服务器漏洞修复_2020.5.22
    Let's Encrypt 免费通配符 SSL 证书申请教程
  • 原文地址:https://www.cnblogs.com/XXxhl/p/11928711.html
Copyright © 2011-2022 走看看