实验四SQL单表查询语句练习.docx
《实验四SQL单表查询语句练习.docx》由会员分享,可在线阅读,更多相关《实验四SQL单表查询语句练习.docx(10页珍藏版)》请在冰豆网上搜索。
![实验四SQL单表查询语句练习.docx](https://file1.bdocx.com/fileroot1/2023-6/14/21fcdb9e-e77c-43fa-b8fe-6ebef5f7866c/21fcdb9e-e77c-43fa-b8fe-6ebef5f7866c1.gif)
实验四SQL单表查询语句练习
实验四SQL单表查询语句练习
一、实验目的
1.掌握SQLServer数据库的恢复技术
2.熟练掌握SQL单表查询语句
二、实验内容
1.数据库恢复
2.SQL查询语言练习
实验基础知识提要
Microsoft®SQLServer™查询分析器是一种图形工具,您可以使用它创建查询和其它SQL脚本,并针对SQLServer数据库执行它们。
连接SQLServer
连接某个Microsoft®SQLServer™实例以打开SQL查询分析器中的一个查询窗口。
如果通过SQLServer企业管理器中的连接访问SQL查询分析器,则自动打开一个查询窗口。
如果未建立连接而访问SQL查询分析器,则显示"连接到SQLServer"对话框,使您可以指定数据库服务器。
该对话框还可从工具栏和从"文件"菜单上的"连接"命令进行访问。
下表列出"SQL查询分析器"工具栏中显示的图标。
最基本的查询语句具有以下的形式:
SELECTselect_list
FROMtable_source
[WHEREsearch_condition]
select_list
描述结果集的列。
它是一个逗号分隔的表达式列表。
每个表达式同时定义格式(数据类型和大小)和结果集列的数据来源。
每个选择列表表达式通常是对从中获取数据的源表或视图的列的引用,但也可能是其它表达式,例如常量或Transact-SQL函数。
在选择列表中使用*表达式指定返回源表中的所有列。
选择列表还可包含控制结果集的最终格式的关键字:
DISTINCT
DISTINCT关键字可从结果集中除去重复的行。
TOPn
TOP关键字指定返回结果集的前n行。
如果指定了ORDERBY,行将在结果集排序之后选定。
除非指定了PERCENT关键字,否则n即为返回的行数。
PERCENT指定n为结果集中返回的行的百分比。
三、实验步骤
构建一下数据库表作为实验数据来源
Products(产品)
代码
描述
数据类型
长度
约束条件
ProductID
产品编号
INT
4
主码
ProductName
品名
VARCHAR
40
SupplierID
供货厂商编号
INT
4
CategoryID
所属种类号
INT
4
QuantityPerUnit
单位数量
VARCHAR
20
UnitPrice
单价
FLOAT
8
UnitsInStock
库存
INT
2
UnitsOnOrder
定货数
INT
2
ReorderLevel
修订量
INT
2
Discontinued
是否进行
BIT
1
Orders(定单)
代码
描述
数据类型
长度
约束条件
OrderID
定单编号
INT
4
主码
CustomerID
顾客编号
VARCHAR
5
EmployeeID
职员编号
INT
4
OrderDate
定货日期
DATETIME
8
RequiredDate
交货日期
DATETIME
8
ShippedDate
载运日期
DATETIME
8
ShipVia
经由数
INT
4
Freight
运费
FLOAT
8
ShipName
船名
VARCHAR
40
ShipAddress
地址
VARCHAR
60
ShipCity
城市
VARCHAR
15
ShipRegion
地区
VARCHAR
15
PostalCode
邮政编码
VARCHAR
10
ShipCountry
国籍
VARCHAR
15
Customers(顾客)
代码
描述
数据类型
长度
约束条件
CustomerID
顾客编号
VARCHAR
5
主码
CompanyName
公司名
VARCHAR
40
ContactName
联系人名
VARCHAR
30
ContactTitle
联系人头衔
VARCHAR
30
Address
地址
VARCHAR
60
City
城市
VARCHAR
15
Region
地区
VARCHAR
15
PostalCode
邮政编码
VARCHAR
10
Country
国籍
VARCHAR
15
Phone
电话
VARCHAR
24
Fax
传真
VARCHAR
24
运行SQLSERVER服务管理器,确认数据库服务器开始运行。
运行企业管理器,以图示方式点击“附加数据库”,恢复db目录下的数据库文件
打开查询分析器,选择刚才恢复的数据库exampleDB,输入SQL指令,获得运行结果。
任务:
完成以下SQL查询语句
A.在产品表(Products)中找出库存大于30的产品的所有信息
SELECT*
FROMProducts
WHEREUnitsInStock>30
B.查询顾客表(Customers)中所有不重复的所在城市
SELECTDISTINCTCity
FROMCustomers
C.在订单表(Orders)中找出运费在10到50之间的订单编号、顾客编号和职员编号
SELECTOrderID,CustomerID,EmployeeID
FROMOrders
WHEREFreight>=10ANDFreight<=50
D.在顾客表(Customers)中找出所在城市为London的联系人名和公司名
SELECTContactName,CompanyName
FROMCustomers
WHERECity='London'
E.在顾客表(Customers)中找出所在城市为London、Madrid、Torino和Paris的顾客编号及电话
SELECTCustomerID,Phone
FROMCustomers
WHERECity='London'ORCity='Madrid'ORCity='Torino'ORCity='Paris'
F.在订单表(Orders)中找出国籍不是Brazil、Spain和Mexico的订单编号和订货日期
SELECTOrderID,OrderDate
FROMOrders
WHEREShipCountry!
='Brazil'ANDShipCountry!
='Spain'ANDShipCountry!
='Mexico'
G.在产品表(Products)中找出单位数量中有box的产品名和产品编号
SELECTProductName,ProductID
FROMProducts
WHEREQuantityPerUnitLIKE'%box%'
H.在顾客表(Customers)中找出公司名的首字母为F的顾客编号和联系人名
SELECTCustomerID,ContactName
FROMCustomers
WHERECompanyNameLIKE'F%'
I.在顾客表(Customers)中找出公司名的首字母为F,第5位为k的顾客编号和联系人名
SELECTCustomerID,ContactName
FROMCustomers
WHERECompanyNameLIKE'F___k%'
四.实验结果与分析(上交实验报告)
分析思考问题:
子句的选择列可以有那些合法内容。
2.列举出至少5种Where子句的筛选用表达式。
Where like ,where =,where or,where and,where in等等
五.讨论、心得