现在的位置: 首页 > 综合 > 正文

数据查询(1)-简单查询

2012年08月15日 ⁄ 综合 ⁄ 共 1201字 ⁄ 字号 评论关闭
 理解查询的机制

查询产生一个虚拟表,看到的是表形式显示的结果,但结果并不真正存储,每次执行查询只是先从数据表中提取数据,并按照表的形式显示出来

 

查询

SELECT    <列名>

FROM      <表名>

[WHERE    <查询条件表达式>]

[ORDER BY <排序的列名>[ASCDESC]]

SELECT SCode,SName,SAddress

FROM            Students

WHERE SSEX = 0

ORDER BY     SCode

 

数据查询-基础

查询全部的行和列

SELECT * FROM Students

 

数据查询-给列取别名(3种方式)

使用AS来命名列(其中as可以省略)

SELECT FirstName+'.'+LastName AS '姓名'

FROM Employees

使用=来命名列

SELECT '姓名' = FirstName+'.'+LastName

FROM Employees

 

数据查询-查询部分行

SELECT SCode,SName,SAddress FROM Students

WHERE SAddress <> '河南新乡'

 

数据查询-查询NULL

SELECT SName FROM Students WHERE SEmail IS NULL

 

数据查询-使用常量列

SELECT 姓名=SName,地址= SAddress,'河北新龙' AS 学校名称

FROM Students

 

数据查询-限制行数

1. 限制固定行数

SELECT TOP 5 SName, SAddress

FROM Students WHERE SSex = 0

 

2. 返回百分之多少行

SELECT TOP 20 PERCENT SName, SAddress

FROM Students WHERE SSex = 0

 

数据查询-排序

注意排序中的字段可以使用表达式:

1.      升序

SELECT StudentID As 学员编号,(Score*0.9+5) As 综合成绩

FROM Score

WHERE (Score*0.9+5)>60

ORDER BY Score

 

2.      降序

SELECT Au_Lname +'.' +Au_fName AS EMP

From Authors Union

SELECT fName +'.'+ LName AS EMP

From Employee

ORDER BY EMP DESC

 

3.      按多列排序

SELECT StudentID As 学员编号, Score As 成绩

FROM Score

WHERE Score>60

ORDER BY Score,CourseID

 

数据查询-使用函数(这个在前面已经介绍过了)

SELECT ListNumber

FROM    SellRecord

ORDER BY

Convert(int, Left(ListNumber, CharIndex('-', ListNumber)-1)),

Convert(int, Stuff(ListNumber,1, Charindex('-', ListNumber), ''))

 

抱歉!评论已关闭.