前言
从今天开始,本系列内容就带各位小伙伴学习数据库技术。数据库技术是Java开发中必不可少的一部分知识内容。也是非常重要的技术。本系列教程由浅入深, 全面讲解数据库体系。 非常适合零基础的小伙伴来学习。
全文大约【1263】字,不说废话,只讲可以让你学到技术、明白原理的纯干货!本文带有丰富案例及配图,让你更好的理解和运用文中的技术概念,并可以给你带来具有足够启迪的思考……
一. 数据库条件查询
语法:SELECT 列名 FROM 表名 WHERE 条件
关键字 |
描述 |
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. 分支结构条件查询语法比较复杂,在某些特定情况可以起到意想不到的效果,需要熟练掌握。