您的位置:首页 > 其它

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

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

查询

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), ''))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: