当前位置: 首页 > news >正文

数据库查询--条件查询

目录

1.关系运算条件的查询

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

3.带关键字IN的查询

4.带BETWEEN AND关键字的查询

 5.空值查询

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


1.关系运算条件的查询

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

语法格式:

SELECT 字段列表
FORM 数据表名
WHERE条件表达式;

例1:

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

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

例2:

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

SELECT * FROM student
WHERE sage>=20
ORDER BY sage DESC;

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

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

 

例1:

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

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

例2:

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

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

3.带关键字IN的查询

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

语法结构;

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

例1:

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

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

4.带BETWEEN AND关键字的查询

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

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

语法;

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

例:

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

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

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

 5.空值查询

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

语法:

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

例:

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

SELECT * FROM student
WHERE sage IS NULL;

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

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

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

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

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

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

 例1:

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

SELECT * FROM student
WHERE sname LIKE 'z% ';

例2:

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

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

例3:

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

SELECT * FROM student
WHERE sname LIKE '_____u';

感谢观看,再见

http://www.lryc.cn/news/346467.html

相关文章:

  • 用 Python 和 AkShare 进行个股数据清洗:源码剖析和建议优化
  • 颍川诞生了两个帝王的仲父
  • SpringAMQP发布、订阅——Fanout Exchange交换机代码模拟
  • js原生三种弹框
  • LWIP+TCP客户端
  • 程序人生 | 人生如棋,落子无悔
  • python的deap库使用记录
  • 一份简历的制作
  • 网络匿名--不只是TOR
  • 【论文阅读笔记】Order Matters(AAAI 20)
  • 中科院突破:TalkingGaussian技术实现3D人脸动态无失真,高效同步嘴唇运动!
  • fastText-文本分类
  • 【nodejs 命令行交互神器 - inquirer.js】
  • Liunx软件包管理(上)
  • 华为eNSP中型企业局域网网络规划设计(下)
  • C语言(指针)1
  • perl:用 MIDI::Simple 生成midi文件,用 pygame 播放 mid文件
  • 数据库-脏读
  • react 用合计项
  • IP 地址追踪工具促进有效的 IP 管理
  • 快手蓝V商家电话采集软件操作教程
  • 工业机器人应用实践之玻璃涂胶(篇二)
  • C++ 455. 分发饼干
  • 未来娱乐新地标?气膜球幕影院的多维体验—轻空间
  • 工业机器人应用实践之玻璃涂胶(篇三)
  • 基于Huffman编码的字符串统计及WPL计算
  • 处理VS2022中(C/C++)scanf报错问题(3种)
  • C#面:Session 喜欢丢值且占内存,Cookis不安全,请问 C# 可以用什么办法代替这两种原始的方法
  • Python并发编程 05 锁、同步条件、信号量、线程队列、生产者消费者模型
  • UIKit之UIButton