Javaweb学习 --------------数据库查询操作

发布时间 2023-11-22 21:01:47作者: 努力学习2333

一、基础查询

1、查询多个字段

select 字段列表 from 表名;
select * from 表名; //查询所有数据

2、去除重复记录

select distinct 字段列表 from 表名;  //获取数据时发现其中含有完全一样的两个数据,这时可以使用该字段实现去除多余数据的作用

3、起别名  (as可以省略 但要保证字段名和别名之间至少存在一个空格)

 

 二、条件查询

1、条件查询语法

select 字段列表 from 表名 where 条件列表; 

条件列表

 

2、like模糊查询

通配符:(1)_:代表单个任意字符    (2)%:代表任意个数字符

下面对该表进行模糊查询

(1)查询用户名姓古的人

 

 (2)查询用户名第三个字为女的用户   (sql语句中“女”字前有两个_)

 (3)查询名字中带有“王”的用户

 

三、排序查询

1、排序查询语法

select 字段列表 from 表名 order by 排序字段名1 [排序方式1] , 排序字段名2  [排序方式2] , ...

2、排序方式

ASC:升序排列

DESC:降序排列

注意:如果有多个排序条件,当前边的条件值一样时,才会根据第二条件进行排序

 

四、聚合函数

1、概念:将一列数据作为一个整体,进行纵向计算

2、

 

3、语法

以下是表中的数据

 

select 聚合函数名(列名) from 表名;

 注:null不参与所有聚合函数运算

eg:

 

五、分组查询

1、语法

select 字段列表 from 表名 [where 分组前条件限定] group by 分组字段名 [having 分组后条件过滤];

注:分组后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义。

2、where和having的区别

①执行时机不一样:where在分组之前进行限定,不满足where条件则不参与分组,而having是分组之后对结果进行过滤。

②可判断的条件不一样:where不能对聚合函数进行判断,having可以。

③执行顺序:where>聚合函数>having

3、eg:

 分别获取男女的平均分及人数

 分别获取年龄为20的男女的平均分

 

六、分页查询