前言

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


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

mysql根据条件就行统计 mysql条件查找_java

一. 数据库条件查询

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

关键字

描述

WHERE 条件

在查询结果中,筛选符合条件的查询结果,条件为布尔表达式

1、等值判断(=)

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

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

mysql根据条件就行统计 mysql条件查找_java_02

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;

mysql根据条件就行统计 mysql条件查找_mysql_03

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;

mysql根据条件就行统计 mysql条件查找_java_04

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

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

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

mysql根据条件就行统计 mysql条件查找_java_05

7、模糊查询

语法 :

LIKE _ (单个任意字符)列名 LIKE '张_'

LIKE %(任意长度的任意字符)列名 LIKE '张%'

注意:模糊查询只能和 LIKE 关键字结合使用。

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

mysql根据条件就行统计 mysql条件查找_java_06

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 ;

mysql根据条件就行统计 mysql条件查找_数据库_07


二. 结语

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

  1. 条件查询是我们日常查询中最为基本也是最为重要的查询。
  2. 熟练使用等值判断、逻辑判断、不等值判断、区间判断、null值判断、枚举查询、模糊查询。
  3. 分支结构条件查询语法比较复杂,在某些特定情况可以起到意想不到的效果,需要熟练掌握。