内容正文:
网站数据库应用技术SQL Server 2008
(项目教程)
6 项目六 数据查询
数据查询是数据库系统应用的主要内容,保存数据就是为了使用,要使用数据首先查找到需要的数据。在T-SQL中使用SELECT语句来实现数据查询。用户通过SELECT语句可以从数据库中搜索用户所需要的数据,也可进行数据的统计汇总并返回给用户。SELECT语句是数据库操作中使用频率最高的语句,是SQL语言的灵魂
6.1 任务1:简单查询
6.1.1相关知识
简单查询
我们在使用SQL语句对数据库中的信息进行查询操作时,数据表在接受查询请求时,就可以简单地理解为“它将逐条判断”,判断是否符合查询条件。如果符合查询条件就提取出来,然后把所有的行组织在一起,形成另外一个类似表的结构,构成查询的结果,通常叫做记录集。
相关知识
简单查询
1.基本查询
从表中查询某些列的值,这是最基本的查询语句。
SELECT 列名1,列名2 FROM 表名
相关知识
简单查询
2.Where(条件)
作用:按照一定的条件查询数据
语法:
SELECT 列名1,列名2 FROM 表名 WHERE 列名1 运算符 值 运算符…
相关知识
简单查询
Where(条件)
相关知识
简单查询
3.BETWEEN
在两个值之间,比如从学生中查询1990--1996年出生学生信息的sql查询语句为:
SELECT * FROM 学生表 WHERE 出生日期 BETWEEN ‘1990-01-01’ AND ‘1996-12-31’
相关知识
简单查询
4.LIKE
作用:模糊查询。
LIKE关键字与通配符一起使用
(1)查询姓氏为张的学生信息
SELECT * FROM 学生表 WHERE 姓名 LIKE '张%'
(2)查询名字最后一个为“生”的同学
SELECT * FROM 学生表 WHERE 姓名 LIKE '%生'
(3)查询名字中含有“生”的学生信息
SELECT * FROM 学生表 WHERE 姓名LIKE '%生%'
(4)查询姓名为两个字,且姓张学生信息
SELECT * FROM 学生表 WHERE 姓名 LIKE '张_'
(5)查询姓氏为张、李的学生信息
这个可以使用or关键字,但是使用通配符更简单高效
SELECT * FROM 学生表 WHERE 姓名LIKE '[张李]%'
(6)查询姓氏非张、李的学生信息
这个也可以使用NOT LIKE 来实现,用下面方法更好。
SELECT * FROM 学生表 WHERE 姓名LIKE '[^张李]%'
或者:
SELECT * FROM 学生表 WHERE 姓名LIKE '[!张李]%'
相关知识
简单查询
5.AND
AND 在 WHERE 子语句中把两个或多个条件结合起来。表示并且的意思,多个条件都成立。如查询姓张的学生信息的sql查询语句为:
SELECT * FROM 学生表 WHERE 姓名 LIKE ‘张%’and 姓名 NOTLIKE ‘%李'
相关知识
简单查询
6.OR
OR可在 WHERE 子语句中把两个或多个条件结合起来。或关系,表示多个条件,只有一个符合即可。如:查询姓氏为张、李的学生信息sql查询语句为:
SELECT * FROM 学生表 WHERE 姓名LIKE '张%' OR 姓名 LIKE '李%'
相关知识
简单查询
7.NOT
NOT对于条件的否定,取非。比如查询非张姓氏的学习信息的sql查询语句为:
SELECT * FROM 学生表 WHERE 姓名 NOT LIKE '张%'
相关知识
简单查询
8.ORDER BY
(1)查询学生信息表的学号、姓名、出生日期,并按“出生日期”升序排列
SELECT * FROM 学生表 ORDER BY 出生日期e
或指明ASC
SELECT * FROM 学生表 ORDER BY 出生日期 ASC
(2)查询学生信息,并按出生日期倒序排列
SELECT * FROM 学生表 ORDER BY 出生日期 DESC
除了制定某个列排序外,还能指定多列排序,每个排序字段可以制定排序规则。
说明:优先第一列排序,如果第一列相同,则按照第二列排序规则执行,以此类推。
(3)查询学生的信息,按照总成绩倒序、学号升序排列
SELECT * FROM 成绩表 ORDER BY 成绩 DESC,学号 ASC
相关知识
简单查询
8.ORDER BY
相关知识
简单查询
9.AS(Alias)
可以为列名称和表名称指定别名(A