标签:
Sqlserver 学习总结之路
LOL赏金猎人:扬帆起航
1,sqlserver 查询语句
TABLE:Student
字段:StuID ,StuName (名字),StuAge(年龄),StuScore(成绩),
普通查询
Select * from Student
条件查询 WHERE后边跟条件
查询StuName为张三的数据
Select * from Student Where StuNamen=‘张三’
BETWEEN 查询两个值之间的数据
查询年龄在十岁道二十岁之间的数据
select * from Student where StuAge BETWEEN 10 and 20
Like 模糊查询,查询大概 LIKE ‘%值%‘
查询StuName中存在 “http://i.cnblogs.com/EditPosts.aspx?opt=1技” 字的数据
select * from Student where StuName Like ‘%技%‘
% | 代替一个或多个字符 |
— | 仅代表一个字符 |
【charlist】 | 字符列中任何单一字符 |
【^charlist】 | 不在字符列中的单一字符 |
感觉Like非常神奇,很好用,实例:】
查询姓张的学生信息
Select * from Student where StuName like ‘%张%‘
查询名称最后一字为“磊”的同学信息
select * from Student WHERE StuName like ‘%磊‘
查询姓氏中不存在 “张”和“李”的同学信息
select * from Student where StuName Like ‘[^张李]%‘
查询名字为两个字且姓张的同学的信息
select * from Student where StuName like ‘张_‘
AND,OR
and用来链接sql条件语句,可以理解为 “且”的意思 例如:
这一句有两个条件,条件中间用Where 链接 且得 意思,查询两个条件都成立的数据
select * from Student as S Where s.StuID = 1 and s. StuName = ‘张三‘
OR 也用来链接sql语句,可以理解为 “或”的意思, 例如:
这一句有两个条件,中间用OR链接,意思是只要有一个条件成立就可以查出数据
select * from Student as S Where s.StuID = 1 OR s. StuName = ‘张三‘
IN ,NOT IN
in 包含的意思,NOT 否决的意思, NOT IN 不包含的意思 子查询 例如:
select * from Table where ID in (select Top(3)StuID from Student)--ID 包含在 StuID select * from Table where ID not in (select Top(3)StuID from Student)--ID不包含在StuID中的数据
select * from Student where StuName not like ‘%张%‘--查询name中没有“张”的数据,NOT 否决
排序,order by
order by 对查询后的结果集尽兴排序 他有两个标识,(ACS 升序,DESC 倒叙),默认为升序 例子:
这一句的意思是按学生ID尽兴正序排列
select * from StudentLX order by StuID //默认为正序列,所以不用特意去加ASC除非特殊判读
select * from StudentLX order by StuID DESC //结果集倒叙,按照学生ID进行倒叙排列
首先根据ID进行倒叙排列,如果有多条AGE相同则按ID进行升序排列
select * from Student order by StuAge desc ,StuID ASC
AS(alias)
AS的意思就是改变在,《查询过程中》,查询出来的结果集的名称,或指定表的名称,并不是改变表的名字,只是在查询时改变例如
在进行连表时查询,
select ST.StuID,Tab1.TabID from Studen as ST , Table1 as Tab1 where ST.StuID = Table1. TabID
也可以将查询出的结果集的表头更改 例如
select StuName as ‘更改的表头名称‘ from Student
查询时忽略查询重复值,例如:
select Distinct StuName from Student
max查询一列中最大值,NULL不包括在内
min查询一列中最小值,NULL不包括在内
他们两个也可以用在文本列,来获取文本数字或字母的最高值,和最低值
select MAX(age) from Student //查询年龄最大的同学 select MIN(age) from Student //查询年龄最小的同学
SUM
查询某列的总和(数字 INT)
select SUM(StuAge) as ‘年龄总和‘ from Student
平均值,返回某一列的平均值
Select AVG(StuAge) from Student
返回指定条件,或者某一列的行数,例如下列,返回学生的个数,
Select COUNT(StuID) from Studnet
Top()
返回前多少列,例如 ,只查询数据集的前三列
select Top(3) from Student
分组,对结果集进行分组 例如:
select SUM(StuID) as ID from Student Group by StuID
声明:本文摘抄,免责,原文地址(http://www.cnblogs.com/yank/p/3672478.html);
标签:
原文地址:http://www.cnblogs.com/daimaozidejiamao/p/5509512.html