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
Distinct
查询时忽略查询重复值,例如:
select Distinct StuName from Student
MAX/MIN
max查询一列中最大值,NULL不包括在内
min查询一列中最小值,NULL不包括在内
他们两个也可以用在文本列,来获取文本数字或字母的最高值,和最低值
select MAX(age) from Student //查询年龄最大的同学 select MIN(age) from Student //查询年龄最小的同学
SUM
查询某列的总和(数字 INT)
select SUM(StuAge) as ‘年龄总和‘ from Student
AVG
平均值,返回某一列的平均值
Select AVG(StuAge) from Student
COUNT()
返回指定条件,或者某一列的行数,例如下列,返回学生的个数,
Select COUNT(StuID) from Studnet
Top()
返回前多少列,例如 ,只查询数据集的前三列
select Top(3) from Student
GROUP BY
分组,对结果集进行分组 例如:
select SUM(StuID) as ID from Student Group by StuID
声明:本文摘抄,免责,原文地址(http://www.cnblogs.com/yank/p/3672478.html);