字段解释
group by(字段) :分组 聚合函数条件常用 having()追加
order by(排序): desc:降序, asc:升序
常用函数
limit :分页
as :起别名
distinct: 查询结果不重复
like:模糊查询
例子:
分页查询 limit
~查询前m条数据
select *from 表名 limit m;
~从m条开始,向后查n条数据 0开始
select * from 表名 limit m, n;
- as关键字 起别名,为某列添加别的名字
select 列名1 as 别名1, 列名2 as 别名2...from 表名;
注意:as支持+ - * / 运算
select name, (score1 + score2) as '总成绩' from 表名;
9.查询的数据不能重复
select distinct 列名 from 表名;
10.模糊查询
select * from 表名 where 列 like 值; 要加''
注:其中值可以包含 _或者 %
_代表一个字符 %代表多个字符
联合查询
*select * from 表名 union select * from 表名;
*注意:union查询的结果不重复; union all 查询的结果允许重复
*并且表名1和表名2可以为同一张表, 此关键字有列数限制
*
* 联表查询--依赖外键
*
1、内连接--等值连接
自然连接,两个表相匹配的行才在结果集中出现
Select 内容 from 表1 inner join 表2 on 等值条件
2、外连接
左连接:select 内容 from 表1 left outer join 表2 on 等值条件
右连接:select 内容 from 表1 right outer join 表2 on 等值条件
左连接按左表内容全部显示,右表数据无关联则显示null
右连接按右表内容全部显示,左表数据无关联则显示null
3、多表关联
Select 内容 from 表1,表2,表3 where 条件
Select * from student,course,grade where student.stuid = grade.stuid and course.couid = grade.couid and course.grade > 80;
Select avg(course.grade) from student,grade where student.stuid =grade.stuid and sex =’男’ and course.grade is not null;
子查询 切记 使用 条件使用 in (包含,最保险, =适用于一个条件情况下) not in 不存在