SQLSever 第二堂课,主要学习内容为top查询前多少行,distinct去重,order by排序,group by分组,最重要子查询
go
update xueshengxinxi set name='你好' where code=1--修改第一行name的名字,改成“你好”
update xueshengxinxi set [weight]=50 where code=9
go
delete from xueshengxinxi --删除表中所有数据
delete from xueshengxinxi where age=4 --删除表中第四行数据
go select *from xueshengxinxi where code =4--查询表中第四行数据
select name,age from xueshengxinxi where code between 1 and 3--查询表中第一行到第三行name,age两列的 --具体信息
go delete from table xueshengxinxi --删除表中所有信息
delete from table where code=3 --删除表中第三行信息
drop table xueshengxinxi
--top 关键字
select top 3*from xueshengxinxi--查询前三行
select top 3 name,code from xueshengxinxi where age >=22--查询年龄大于22岁的前三行name列和code列的的信息
--distinct 去重
select distinct name from xueshengxinxi--把名字里重复的去掉
select distinct sex from xueshengxinxi--把性别去重, select disrinct sex='男' from xushengxinxi--把性别男的去重,不会再显示女的信息
--order by
select *from xueshengxinxi order by age asc --升序,按年龄排序
select *from xueshengxinxi order by hight desc--降序 ,按身高排序
select *from xueshengxinxi where age<25 order by age asc--把年龄小于25的查询出来并排序
select *from xueshengxinxi order by age asc,code desc--如果有两个年龄相同,先拍年龄再按照code 排倒序
select *from xueshengxinxi order by [weight] asc,code asc--如果有连个体重相同的,先按体重排正序 --再按学号排正序。
order by+列名+asc是排正序,order by+列名+desc是排倒
go
--分组
select age from xueshengxinxi group by age --对某一列进行分组,相当于去重显示,只显示一列
select hight from xueshengxinxi group by hight --分组之后会自动排序
go
--子查询 !!!!!!!!!!!!! --使用查询语句查询,一一列数据出来,然后作为其他查询的查询条件中的参数来使用
--in 表示在什么参数之内
select *from xueshengxinxi where age in(23,24)--相当于age=23 or age=24。查询学生信息中23,24岁的信息
select *from xueshengxinxi where age not in(23,24)--查询学生信息中不是23,24岁的信息
go
--查询身高不在年龄是23岁的人身高范围之内的信息:
select *from xueshengxinxi where hight not in(select hight from xueshengxinxi where age=23) --先查询这个23岁的人,然后把这个23岁身高的信息去掉)
--名字叫田七的中的年龄比code=20的李四这个人的年龄小4岁的人的信息:
select *from xueshengxinxi where age+4=(select age from xueshengxinxi where code=20) and name='田七'
--名字叫田七中的比姓李的这个人的年龄大三岁的人的信息
: select *from xueshengxinxi where age-3=(select age from xueshengxinxi where name like '李%') and name='田七'
--比张三的身高矮的人的信息 select *from xueshengxinxi where hight<(select hight from xueshengxinxi where name ='张三')
--比张三高的人比code=24矮的人信息 :
select*from xueshengxinxi where hight<(select hight from xueshengxinxi where name='张三') and hight>(select hight from xueshengxinxi where code=24) --一个女的比身高是170的那个人重8公斤的人的信息:
select*from xueshengxinxi where [weight]-8=(select [weight] from xueshengxinxi where hight=170) and sex='女'
--一个比年龄是26的人小的女孩子的信息 :
select *from xueshengxinxi where age<(select age from xueshengxinxi where age=26) and sex='女'
--查询学生中身高是170和175的学生的信息:
select *from xueshengxinxi where hight in(170,175)