数据查询1之简单查询
一、实验目的
数据查询指对数据库中的数据查询、统计、分组、排序等操作。查询语句可以分为简单查询、连接查询、嵌套查询和组合查询。
本次实验了解SQL语言的SELECT语句对数据的查询,学会利用SQL Server 2000的查询分析器对数据库SPJ中的表进行简单查询
二、实验内容
1.启动数据库服务软件SQL Server 2000的查询分析器,用SELECT语句对表进行简单查询操作,整个查询过程只涉及到一个表,是最基本的查询语句。
语法格式如下:
Select <目标列组> From <数据源> [Where <元组选择条件>]
[Group by <分组列> [Having <组选择条件>]]
[Order by <排序列1> <排序要求> [, …n]]
2. select子句的使用方式
3. where子句中,条件表达式有多种形式,分别练习
4. group by子句和聚集函数的结合使用
5. 理解where和having子句的异同点
三、实验任务
使用SQL Server 2000的查询分析器进行查询,打开数据库spj
(一)select子句---选择列
①用SELECT子句来指定查询所需的列,多个列之间用“,”分开
例如:查询S表中所有供应商的编号、名称和地址。
select sno,sname,saddr from s
②可以用“*”来选取数据表的全部列
例如:查询S表中所有供应商的信息。
select* from s
③在查询结果中增加计算列,还可修改数据列的显示名称
例如:查询项目表中所有项目的编号、名称、地址和去掉100000的金额。
select jno,jname,jcity,balance-100000 亏 from j
④使用T关键字,可以消除重复记录
例如:在SPJ表中查询供应商编号。
select pno from spj
⑤使用聚集函数,可以得到相关的统计信息
例如:统计有多少个供应商?
select count(*) from s
(二)、where子句--选择行
①使用WHERE子句,可以选择满足条件的部分记
例如:查询金额在0~10000元之间的项目情况。
select balance from j where balance between 0 and 10000
②使用IN关键字,选择不连续条件的记录
例如:查询项目所在城市为郑州市和新乡市的项目名称。
select jcity from j where jcity in ('新乡市','郑州市')
③使用谓词LIKE和通配符“%”或“_”,实现模糊查询
例如:查询项目名称中含有‘原料’的项目基本情况。
select pname from p where pname like '%原料%'
注意:“%”代表0个或多个字符,“_”代表一个字符。有的书上说,一个汉字占两个字符,但这里一个汉字只占一个字符位置,这与系统的设置有关。
(三)、对查询结果分组
①使用GROUP BY子句,对查询结果分组
例如:查询每个供应商所供应的零件种类和总数量。
select count (distinct pno),sum(qty) from spj group by sno
②使用HAVING子句,对分组结果进行筛选
例如:查询供应种类在3种以上的供应商编号
select sno from spj group by sno having count(*)>3
注意:SELECT子句后面使用统计函数以外的数据列,都必须出现在GROUP子句中。
(四)、对查询结果排序
①使用ORDER BY子句,对查询结果进行排序
例如:查询所有的项目信息,以金额为标准做降序排列
select * from j order by balance desc
②使用TOP关键字,选择查询结果的前几条记录
例如:查询金额最少的项目。
select top 1 balance from j order by balance desc
注意:如果2号课成绩存在并列最高,则使用下面的SQL语句。
SELECT TOP 1 WITH TIES *