Sqlserver 菜鸟起飞 - TOP(1)

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);

 

转载于:https://www.cnblogs.com/daimaozidejiamao/p/5509512.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值