条件查询

Posted xxxhl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了条件查询相关的知识,希望对你有一定的参考价值。

条件查询

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语句及其执行结果如下所示:

 技术图片

 

 

以上是关于条件查询的主要内容,如果未能解决你的问题,请参考以下文章

Linq查询条件怎么查询呢

es查询条件构造

SQL查询条件的问题

jsp如何按指定条件进行模糊查询

将多条查询结果作为like查询条件

ASP多条件查询怎么做?