【说明】
关于一位花商有以下一些事实。
(1)销售在不同地区生长的花,这些地区一年的最低气温在一定范围内变化。
(2)想用编号来表示发货类型。
(3)要出售某些类型的花。
假定已经通过SQL语句建立了基本表:
CREATE TABLE Zone(ID CHAR(2) PRIMARY KEY,
LowerTemp NUMERIC(3),
UpperTemp NUMERIC(3));
CREATE TABLE Delivery(ID CHAR (2) PRIMARY KEY,
Category CHAR(5),
DelSize NUMERIC(5,3));
CREATE TABLE FlowerInfo(ID CHAR (3),
ComName CHAR(25),
LatName CHAR(30),
Czone NUMERIC(3),
Hzone NUMERIC(3),
Delivered NUMERIC(3),
SunNeed CHAR(3),
PRIMARY KEY(ID));
地区(ID,最高温度,最低温度)
发货(ID,发货类型,发货规格)
花的信息(ID,普通名,拉丁名,花能够生长的最冷地区,花能够生长的最热地区,发货类型,日光需求)
【问题2】
写出SQL语句实现如下功能:查询以花瓶(pot)形式发货的所有鲜花的ID、普通名及花瓶的规格,得到结果表按照普通名的字母逆序打印。
参考答案:SELECT FlowerInfo.ID,FlowerInfo.ComName,Delivery.DelSize
FROM FlowerInfo AS F,Delivery AS D
WHERE F.Delivemd=D.id AND D.Category=’pot’
ORDER BY F.ComName DESC
解析:
[分析]: 本题是考查SQL查询语句,在此需要用到两个表:delively和flowerinfo,需要将其正确连接起来。
查询SELECT语句的基本格式如下:
SELECT [ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]…
FROM<表名或视图名>[,<表名或视图名>]
[WHERE<条件表达式>]
[GROUP BY<列名1>[HAVING<条件表达式>]]
[ORDER BY<列名2>[ASC|DESC]…]
据此,根据题意可得相应的SQL查询语句为:
SELECT FlowerInfo.ID, HowerInfo. ComName, DeliVery.DelSize
FROM FlowerInfoAS F, Delivery AS D
WHERE F.Delivered=D.id AND D.Category=’pot’
ORDER BY F.ComName DESC