模糊查询
Posted 北宫乾宇
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模糊查询相关的知识,希望对你有一定的参考价值。
模糊查询
1.使用like关键字进行模糊查询,需要通配符配合使用
通配符:
"_":表示任意一个字符,除了空字符
"%":表示任意 一个字符串
"[]":表示指定范围内的一个字符
"[^]":表示指定范围外的一个字符
2.使用in关键字进行模糊查询。in表示指定的数据范围
多表查询,重点在连接(inner join,right join,left join,full join)
内连接(inner join):
select 表1名.列1,表2名.列1... from 表1 inner join 表2
on 表1.主键=表2.外键;
右连接查询(right join):
select 表1名.列1,表2名.列1... from 表1 right join 表2
on 表1.主键=表2.外键;
左连接查询(left join)
注意:指查询的时候以左表为主,把左表的信息都查询出来,其他没有的数据的使用null表示
select 表1名.列1,表2名.列1... from 表1 left join 表2
on 表1.主键=表2.外键;
完全连接查询(full join)
select 表1名.列1,表2名.列1... from 表1 full join 表2
on 表1.主键=表2.外键;
视图
定义:视图就是一个虚拟的表,视图就是封装了一个查询结果。
也就是是说视图就是对应一个“结果集“。
作用:方便查询。
创建:create view 视图名 as 查询指令(一般是连接指令)
例:create view myview as select stu.sname,stu.sex,stu.tel,kemu.kname,score.fenshu from stu
inner join score on stu.sid=score.sid inner join kemu
on kemu.kid=score.kid;
聚合函数(max(),min(),sum(),avg(),count())
注意:聚合函数只针对列进行运算
分组查询(group by ),按照某列分组,分组后再分别查询
查询每个学生的总分。先按照学生分组,每组分别求和
select sname,sum(fenshu) from myview group by sname ;
having子句,表示分组查询后再添加查询条件
比如,查询总分高于200分的学生
select sname,sum(fenshu) from myview group by sname
having sum(fenshu)>200;
以上是关于模糊查询的主要内容,如果未能解决你的问题,请参考以下文章