一、基础查询
1、查询多个字段
select 字段列表 from 表名;
select * from 表名;-------------查询所有数据;
2、去除重复记录
select distinct 字段列表 from 表名;
3、起别名
as:as 也可以省略
二、条件查询(where)
1、条件查询语法
select 字段列表 from 表名 where 条件列表;
2、条件
模糊查询:
--1.查询姓'钱'的学生信息
select * from stu where name like '钱%';
--2.查询第二个字是‘化’的学生信息
select * from stu where name like '-化%'
--3.查询名字中包含‘腾’的学生信息
select * from stu where name like '%腾%';(最常用到)
三、排序查询
1、排序查询语法
select 字段列表 from 表名 order by 排序字段名1 [排序方式1],排序字段名2 [排序方式2] ...;
排序方式:
~ASC:升序排列(默认值)
~DESC 降序排列
注意:如果有多个排序条件,当前边的条件值一样时,才会根据第二条件进行排序
举例:
--1.查询学生信息,按照年龄升序排列
select * from stu order by age;
--2.查询学生信息,按照数学成绩降序排列
select * from stu order by math desc;
--3.查询学生信息,按照数学成绩降序排列,如果数序成绩一样,再按照英语成绩升序排序
select * from stu order by math desc,english asc;
四、分组查询
1、聚合函数
①概念:聚合函数将一列数据作为一个整体,进行纵向计算。
②聚合函数分类
③聚合函数语法:select 聚合函数名(列名)from 表;
注意:null值不参与所有聚合函数运算
2、分组查询语法
select 字段列表 from 表名 [where 分组前条件限定] group by 分组字段名 [having 分组后条件过滤];
注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无意义
where和having区别:
①执行时机不一样:where是分组之前进行限定,不满足where条件,则不参与分组,而having是分组之后对结果进行过滤。
②可判断的条件不一样,where不能对聚合函数进行判断,having可以。
执行顺序:where>聚合函数>having
五、分页查询(limit)
1、分页查询语法
select 字段列表 from 表名 limit 起始索引,查询条目数;
起始索引:从0开始
计算公式:起始索引=(当前页码-1)*每页显示的条数
tips:
~分页查询limit是MySQL数据库的方言
~Oracle分页查询使用rownumber
~SQL Server分页查询使用top