实验四SQL单表查询语句练习
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四SQL单表查询语句练习
一、实验目的
1.掌握SQL Server数据库的恢复技术
2.熟练掌握SQL单表查询语句
二、实验内容
1.数据库恢复
2.SQL查询语言练习
实验基础知识提要
Microsoft® SQL Server™查询分析器是一种图形工具,您可以使用它创建查询和其它 SQL 脚本,并针对 SQL Server 数据库执行它们。
连接 SQL Server
连接某个 Microsoft®SQL Server™实例以打开 SQL 查询分析器中的一个查询窗口。如果通过 SQL Server 企业管理器中的连接访问 SQL 查询分析器,则自动打开一个查询窗口。
如果未建立连接而访问 SQL 查询分析器,则显示"连接到SQL Server"对话框,使您可以指定数据库服务器。该对话框还可从工具栏和从"文件"菜单上的"连接"命令进行访问。
下表列出"SQL 查询分析器"工具栏中显示的图标。
最基本的查询语句具有以下的形式:
SELECT select_list
FROM table_source
[ WHERE search_condition ]
select_list
描述结果集的列。它是一个逗号分隔的表达式列表。每个表达式同时定义格式(数据类型和大小)和结果集列的数据来源。每个选择列表表达式通常是对从中获取数据的源表或视图的列的引用,但也可能是其它表达式,例如常量或 Transact-SQL 函数。在选择列表中使用 * 表达式指定返回源表中的所有列。
选择列表还可包含控制结果集的最终格式的关键字:
DISTINCT
DISTINCT 关键字可从结果集中除去重复的行。
TOP n
TOP 关键字指定返回结果集的前 n 行。如果指定了 ORDER BY,行将在结果集排序之后选定。除非指定了 PERCENT 关键字,否则 n 即为返回的行数。PERCENT 指定 n 为结果集中返回的行的百分比。
三、实验步骤
构建一下数据库表作为实验数据来源 Products(产品)
Orders(定单)
Customers(顾客)
运行SQL SERVER服务管理器,确认数据库服务器开始运行。
运行企业管理器,以图示方式点击“附加数据库”,恢复db目录下的数据库文件
打开查询分析器,选择刚才恢复的数据库exampleDB,输入SQL指令,获得运行结果。
任务:完成以下SQL查询语句
A.在产品表(Products)中找出库存大于30的产品的所有信息
SELECT *
FROM Products
WHERE UnitsInStock>30
B.查询顾客表(Customers)中所有不重复的所在城市SELECT DISTINCT City
FROM Customers
C.在订单表(Orders)中找出运费在10到50之间的订单编号、
顾客编号和职员编号
SELECT OrderID,CustomerID,EmployeeID
FROM Orders
WHERE Freight>=10 AND Freight<=50
D.在顾客表(Customers)中找出所在城市为London的联系人
名和公司名
SELECT ContactName,CompanyName
FROM Customers
WHERE City='London'
E.在顾客表(Customers)中找出所在城市为London、Madrid、
Torino和Paris的顾客编号及电话
SELECT CustomerID,Phone
FROM Customers
WHERE City='London' OR City='Madrid' OR City='Torino' OR City='Paris'
F.在订单表(Orders)中找出国籍不是Brazil、Spain和Mexico
的订单编号和订货日期
SELECT OrderID,OrderDate
FROM Orders
WHERE ShipCountry!='Brazil' AND ShipCountry!='Spain' AND ShipCountry!='Mexico'
G.在产品表(Products)中找出单位数量中有box的产品名和
产品编号
SELECT ProductName,ProductID
FROM Products
WHERE QuantityPerUnit LIKE '%box%'
H.在顾客表(Customers)中找出公司名的首字母为F的顾客编
号和联系人名
SELECT CustomerID,ContactName
FROM Customers
WHERE CompanyName LIKE 'F%'
I.在顾客表(Customers)中找出公司名的首字母为F,第5位
为k的顾客编号和联系人名
SELECT CustomerID,ContactName
FROM Customers
WHERE CompanyName LIKE 'F___k%'
四. 实验结果与分析(上交实验报告)
分析思考问题:
子句的选择列可以有那些合法内容。
2.列举出至少5种Where子句的筛选用表达式。
Where like , where =, where or, where and, where in 等等
五.讨论、心得