首页 > 数据库 >MySQL条件查询

MySQL条件查询

时间:2023-07-12 14:14:03浏览次数:34  
标签:12 MySQL Sage Ssex 查询 Sname 条件 SELECT

前言
从今天开始, 健哥就带各位小伙伴学习数据库技术。数据库技术是Java开发中必不可少的一部分知识内容。也是非常重要的技术。本系列教程由浅入深, 全面讲解数据库体系。 非常适合零基础的小伙伴来学习。


 

前戏已做完,精彩即开始

全文大约【1263】字,不说废话,只讲可以让你学到技术、明白原理的纯干货!本文带有丰富案例及配图视频,让你更好的理解和运用文中的技术概念,并可以给你带来具有足够启迪的思考......

一. 数据库条件查询

语法:SELECT 列名 FROM 表名 WHERE 条件

1.等值判断(=)

#查询年龄等于12的学生
SELECT SId, Sname, Sage, Ssex from student where Sage=12;

注意:与 java 不同(==),mysql 中等值判断使用 =

2.逻辑判断(and、or、not)

#查询年龄等于12并且性别是男的学生
SELECT SId, Sname, Sage, Ssex from student where Sage=12 and Ssex='男';

3.不等值判断(> 、< 、>= 、<= 、!= 、<>)

#查询年龄大于等于12并且小于等于50的学生
SELECT SId, Sname, Sage, Ssex from student where Sage >= 12 and sage <= 50;

4.区间判断(between and)

#查询年龄在12~50之间的学生信息
SELECT SId, Sname, Sage, Ssex from student where Sage BETWEEN 12 and 50;

注:在区间判断语法中,小值在前,大值在后,反之,得不到正确结果。

5.NULL 值判断(IS NULL、IS NOT NULL)

语法 :
列名 IS NULL
列名 IS NOT NULL

#查询年龄为null的学生信息
SELECT SId, Sname, Sage, Ssex from student where Sage is NULL;

6.枚举查询( IN (值 1,值 2,值 3 ) )

#查询年龄为12, 33, 44的学生信息
SELECT SId, Sname, Sage, Ssex from student where Sage in(12,33,44);

注:in的查询效率较低,可通过多条件拼接。

7.模糊查询

语法 :
LIKE _ (单个任意字符)列名 LIKE '张_'
LIKE %(任意长度的任意字符)列名 LIKE '张%'
注意:模糊查询只能和 LIKE 关键字结合使用。

#查询姓李的学生信息
SELECT SId, Sname, Sage, Ssex from student where Sname like '李%';

8.分支结构查询

语法 :
SELECT 字段名
CASE
WHEN 条件1 THEN 结果1
WHEN 条件2 THEN 结果2
WHEN 条件3 THEN 结果3
ELSE 结果
END as 别名
FROM 表名
注意:通过使用CASE END进行条件判断,每条数据对应生成一个值。
经验:类似 Java 中的switch。

#查询学生信息, 年龄大于等于10小于等于20显示A, 大于等于21小于等于40显示B, 其他显示C
SELECT SId, Sname, Ssex,
    case 
    when Sage >= 10 and Sage <= 20 then 'A'
    when Sage >= 21 and Sage <= 40 then 'B'
    else 'C'
    end as 'level'
from student ;


正片已结束,来根事后烟

二. 结语

在这里对本文核心要点进行总结:

  1. 条件查询是我们日常查询中最为基本也是最为重要的查询。
  2. 熟练使用等值判断、逻辑判断、不等值判断、区间判断、null值判断、枚举查询、模糊查询。
  3. 分支结构条件查询语法比较复杂,在某些特定情况可以起到意想不到的效果,需要熟练掌握。
    如果各位小伙伴感觉健哥的文章对大家有帮助,请动手点个赞以表对健哥的支持。 如果有其他问题可以在下面留言, 健哥看到后会及时答复,谢谢大家。

标签:12,MySQL,Sage,Ssex,查询,Sname,条件,SELECT
From: https://www.cnblogs.com/qian-fen/p/17547317.html

相关文章

  • IDEA中mysql无法自动补全解决办法
    1.前言本人在跟着b站视频学习时,发现无法如视频中显示的那样进行sql提示,上网查找了一些资料,进行了解决2.解决后的提示示例图1图23.解决方式3.1我的解决方式本人使用的IDEA是2021.2.3设置——语言和框架——SQL方言,修改全局SQL方言与项目SQL方言为MySQL。(最初是“无”)......
  • 基于C#连接Mysql,并进行增删改查操作
    记录一下今天的学习内容。前置条件(括号里是我用的):VisualStudio (2022)、Mysql(8.0.33CommunityServer)、NavicatPremium(16) 1.开发准备首先,打开VisualStudio,选择控制台应用并创建,框架应该影响不大,我用的.net6.0然后新建一个名为MysqlDbContext.cs的项。......
  • 子查询高级查询以及集合运算统计函数
    子查询单行子查询子查询部分的返回结果为单行的结果多行子查询子查询部分的返回结果为多行的结果,主要关键字有any,in,allany表示任意一个,在集合中有一个满足条件即可all所有,在集合中所有都满足即可in表示任意一个,在集合中有一个满足条件即可eg:s......
  • MySql开启日志 --记录每条执行的SQL语句
    --第一条SETGLOBALlog_output='TABLE';SETGLOBALgeneral_log='ON';--在重启mysql重启Mysql详情请看:(10条消息)如何重启MySQL,正确启动MySQL_mysqlrestart_wuyepiaoxue789的博客-CSDN博客--重启完成之后可以去数据库`Mysql`中的general_log表里查看,也可以执行一下的......
  • 如何实现mysql语法的具体操作步骤
    如何学习和实现MySQL语法作为一名经验丰富的开发者,我将会教会你如何学习和实现MySQL语法。MySQL是一种广泛使用的关系型数据库管理系统,具有强大的功能和易于使用的语法。整体流程下面是学习和实现MySQL语法的整体流程的表格展示:步骤描述1.学习基本的MySQL语法和概念......
  • 如何实现mysql驱动的具体操作步骤
    MySQL驱动简介及使用示例1.什么是MySQL驱动?MySQL驱动是用于连接和操作MySQL数据库的软件模块。MySQL是一种常用的关系型数据库管理系统,而驱动则是用于连接不同编程语言和MySQL数据库之间的桥梁。驱动有助于程序员使用编程语言操作MySQL数据库,例如执行查询、插入、更新和删除数据......
  • mysql json使用
    如何加快对json数据的查询创建虚拟列addcolumn`column_name`varchat(32)generatedalwaysas(json_unquote(json_extract(`json_column`,'$.column')))virtualnull;为虚拟列添加索引createindexidx_columnontable_name(column_name)......
  • mysql 出现 mysqladmin flush-hosts
    【1】报错信息messagefromserver:"Host'xx.xx.xx.xx'isblockedbecauseofmanyconnectionerrors;unblockwith'mysqladminflush-hosts'"主机xx.xx.xx.xx被锁,因为许多连接错误;【2】快速解决mysql出现mysqladminflush-hosts,是因为其他客户机连接错误次数过......
  • MySQL从5.7升级到8.0后可能的回退方法
    MySQL从5.7升级到8.0后,可以降级的一些途径:·从8.0逻辑导出,然后导入5.7·使用5.7的复制·还原升级前的备份,并追赶在8.0中新生成的数据  1.逻辑导出和导入降级虽然MySQL5.7到5.6官方支持逻辑降级:但是从8.0降级到5.7却并非如此。官方文档只是简单提到不支持,因此,如果你尝......
  • MySQL 8.0 Dynamic Redo Log Sizing翻译
    本文是MySQL8.0DynamicRedoLogSizing[1]这篇文章的翻译。如有翻译不当的地方,敬请谅解,请尊重原创和翻译劳动成果,转载的时候请注明出处。谢谢!这篇博文将讨论MySQL8.0.30中引入的最新功能/特性:重做日志动态调整大小(dynamicredologsizing)。除了InnoDB缓冲池(bufferpool)......