当前位置:   article > 正文

数据库查询--条件查询

条件查询

目录

1.关系运算条件的查询

2.逻辑运算符条件的查询

3.带关键字IN的查询

4.带BETWEEN AND关键字的查询

 5.空值查询

6.带LIKE关键字的模糊查询


1.关系运算条件的查询

在SELECT语句中,最常见的是使用WHERE字句指定关系运算条件对数据进行过滤。

语法格式:

  1. SELECT 字段列表
  2. FORM 数据表名
  3. WHERE条件表达式;

例1:

查询student数据表中学号为6的学生的姓名和性别

  1. SELECT snc,snmae,ssex FROM student
  2. WHERE sno=6;

例2:

查询student数据表中年龄大于或等于20岁的学生的全部信息,并按年龄降序排序

  1. SELECT * FROM student
  2. WHERE sage>=20
  3. ORDER BY sage DESC;

2.逻辑运算符条件的查询

                运输符                功能描述
            AND  或  &&                逻辑与
             OR 或  ||                逻辑或
                XOR                逻辑异或
              NOT 或 !                逻辑非

 

例1:

查询student数据表中年龄大于19岁并且是男性的学生的记录

  1. SELECT * FROM student
  2. WHERE sage>19 AND SSEX='male';

例2:

查询student数据表中的女性或者是年龄在20岁以上(不含20岁)男生的记录

  1. SELECT * FROM student
  2. WHERE ssex='female' OR ssex='male' AND sage>20;

3.带关键字IN的查询

关键字IN用判断某个字段的值是否在一个指定的集合中,如果字段在该集合中,则该字段所在的记录会被查询出来

语法结构;

  1. SELECT * |字段列表
  2. FROM 数据表名
  3. WHERE 字段名[NOT] IN (元素1,元素2,...);

例1:

查询student数据表中学号不在(2,4,7)这个名单的学生记录

  1. SELECT * FROM student
  2. WHERE sno NOT IN(2,4,7);

4.带BETWEEN AND关键字的查询

ETWEEN AND关键字用于怕判断某字段的值(数值型)是否在指定的范围之内,

如果字段的值(数值型)在指定范围内,则字段所在的记录将被查询出来;反之,则不会被查询出来。

语法;

  1. SELECT * |字段列表
  2. FROM 数据表名
  3. WHERE 字段名[NOT]BETWEEN 较小起始值 AND 较大结束值;

例:

查询student数据表中学号不在3~5的学生记录

  1. SELECT * FROM student
  2. WHERE sno NOT between 3 AND 5;

反之把 ’NOT‘ 去掉就能查询在3~5的记录

 5.空值查询

 在MySQL中,使用 IS NULL 关键字来判断字段的值是否为空值

语法:

  1. SELECT * |字段列表
  2. FROM 数据表名
  3. WHERE 字段名 IS [NOT] NULL;

例:

查询student数据表中sage字段为空值的记录

  1. SELECT * FROM student
  2. WHERE sage IS NULL;

6.带LIKE关键字的模糊查询

  1. SELECT * |字段列表
  2. FROM 数据表名
  3. WHERE 字段名 [NOT] LIEK 匹配字符串;

在上述语法格式中,匹配字符串指的是要用来匹配的字符串,通常里面还有某些通配符,如百分号(%)或下划线(_)

其中百分号(%)通配符可以匹配任意长度的字符串,包括空字符串;百分号通配符可以出现在通配字符串的任意位置。例如“匹配字符串”如果是w%这样的,那么它就可以匹配如“w”、“we”、“welcome”这样的等等。

配“w”是因为%匹配了空字符串。百分号(%)通配符可以出现在匹配字符串的任意位置(开头、中间和结尾)。甚至还可以多个百分号(%)通配符出现在同一个匹配字符串中。

下划线()通配符只能匹配一个任意字符,如果要匹配多个字符,就需要使用多个下划线通配符。

 例1:

查询student数据表中的名字是以z开头学生的记录

  1. SELECT * FROM student
  2. WHERE sname LIKE 'z% ';

例2:

查询student数据表中的名字里没有字母o的学生的记录

  1. SELECT * FROM student
  2. WHERE sanme NOT LIKF '%o%';

例3:

查询student数据表的名字包含6个字符,并且以字母u结尾的学生的记录

  1. SELECT * FROM student
  2. WHERE sname LIKE '_____u';

感谢观看,再见

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/730152
推荐阅读
相关标签
  

闽ICP备14008679号