2014年10月31日---------投影,筛选,去重,模糊查询

投影:

Select 列名 from 表名 where 列名 关系表达式 值

select 姓名 from 学生信息表  where 数学成绩 >60--选学生信息表中数学成绩大于60的姓名

 

筛选:

Select *  from  表名 where  列名  关系表达式   值

select * from  学生信息表  where  年龄=75     --找年龄等于75

select * from 学生信息表  where 英语成绩 >90  --找英语成绩大于90

去重:

Select * distinct 列名 from 表名        ------去除这一行数据的重复值

例如: select distinct 体重 from 学生信息表 --寻找不同的体重类型从学生信息的

模糊查询:

select * from  学生信息表 where 姓名 like '%%'--搜索姓名中有"",%代表那一位可有可无

 select * from 学生信息表  where 姓名 like '_%'--搜索姓名中有"",_代表那一位上有一位

  select * from 学生信息表  where 学号 like'[1,2]'--搜索学号中为1或2的数据,[]里是添加的数据

  select * from 学生信息表  where 年龄 like '_[6,9]%'--年龄第二位是6或9的数据

select * from 学生信息表  where 年龄 like '_6%' or 年龄 like '_9%'--上面那个也可以写成这样

select * from  学生信息表 order by 年龄 asc--根据年龄升序排列

  select * from 学生信息表  order by 年龄 desc--根据年龄降序排列

  select * from 学生信息表 where 数学问题<76 order by 年龄 asc

 --根据数学分数小于76的,按年龄升序排列,

  select  top 3 * from 学生信息表  order by 年龄 desc

  --根据年龄降序排列,求前三个

 

sp_renamedb 原来数据库的名字,新数据库的名字

--修改数据库的名称,s是原来的那个名字x是新改的那个名字

sp_renamedb 你的作业,学生信息表

 ---------→

select * from 学生信息表 where  体重 in (70,78)--查询列名体重在70,78两者的数据

select * from 学生信息表 where  体重 not in (70,69)--查询列名体重不在70,69两者的数据

update 学生信息表 set 体重=66 where 年龄 between 20 and 40

--查询年龄范围在20到40之间的数中体重等于66的数据

变为

alter table 学生信息表 drop column 英语成绩--删除一列,删除列名为英语成绩的那一列

delete from 学生信息表  where 学号=10 --删除一行,删除学号为10的那一行

 

分组

select * from 学生信息表  order by 数学成绩 desc --按照数学成绩降序排列

 

select 班级 from 学生信息表  group by 班级

--班级是varchar类型,是text的不行

--聚合函数 group by,针对某一列进行

 select 班级,AVG(语文成绩) from 学生信息表 group by 语文成绩

不对,出错的原因是:select 后面的数值,要和group by后面的数值要相同。看下面修改的:

 第一: select 班级,AVG(语文成绩) from 学生信息表 group by 班级

  --以班级分组,求语文成绩的平均数

第二:select 班级,AVG(语文成绩) as 语文平均 from 学生信息表 group by 班级 

--只要select后面有逗号,就可以分为两列来进行展示

第一:第二:

 

 

 

select 班级,COUNT (*)as 人数 from 学生信息表  where 年龄  between 44 and 100 group by 班级

 

--选出年龄在44100岁之间的以班级为条件的人数是多少

select 年龄,AVG (数学成绩)as 分组数学平均分 from 学生信息表  group by 年龄

--以年龄来分组,然后求各个年龄的数学成绩的平均分

 

 

 

select * from 学生信息表  

select 班级,COUNT (*)as 人数 from 学生信息表  group by 班级 having AVG(语文成绩)>80

--据班级来分类取出信息表中各类中语文成绩平均分高于80

--华山派第5届之所以为3人是因为令狐冲的89加上林平之的85加上岳灵珊的69,除以3是大于80

转载于:https://www.cnblogs.com/9999w/articles/4069379.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值