SQLSever 第二堂课,主要学习内容为top查询前多少行,distinct去重,order by排序,group by分组,最重要子查询
2015-04-20 15:10
507 查看
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)
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)
相关文章推荐
- SQL Server数据库--》top关键字,order by排序,distinct去除重复记录,sql聚合函数,模糊查询,通配符,空值处理。。。。
- MySQL——关于MySQL分组查询group by和order by获取最新时间内容的方法
- Chapter 3. 数据检索(查询)---select、top...order by、distinct、where条件查询、分组查询、模糊查询、null处理
- MYSQL数据库(十)- 数据表的插入(insert)、删(delete)、改(update)、查(select)、group by 分组、having语句设置分组条件,order by查询结果排序,
- SQL中group by分组查询的内容(包含to_char和order by)
- SQL语句中,如果有group by 和order by两个语句,是先分组还是先排序? group by 语句执行后记录会按关键字自动升序吗?
- postgresql----排序ORDER BY,分组GROUP BY,分页OFFSET&&LIMIT
- 关键字:DISTINCT,GROUP BY,ORDER BY,显示多字段,排序
- SQL 数据库 学习 027 查询-10 group by --- 以某字段分组
- SQL学习之查询技巧 查询第3的数据 用一条语句分组,排序 并查询某一排名
- SQL Server 学习(1)子查询(in,not in)、多表查询、合并表(union、union all)、分组(group by)、分组的条件(having)、虚拟表、标量值函数、外键
- 分组 分页查询 (group by 和order by使用 )
- SQL学习之查询技巧 查询第3的数据 用一条语句分组,排序 并查询某一排名
- SQL 数据库 学习 024 查询-07 order by 的用法 --- 以某个字段排序
- 学习ThinkPHP3.2.2:video15,查询内容按日期排序
- MySQL中使用group by进行分组时,子查询中order by失效的问题
- mysql里group by按照分组里的内容的排序
- MySQL数据库学习06-查询数据:排序和分组
- 查询 按某一字段分组,组内排序,top n条数据
- MySQL中group_concat函数 --- 很有用的一个用来查询出所有group by 分组后所有 同组内的 内容