10-122 A3-2查询国家为Mexico、Germany的客户数量
查询出顾客表(customers)
中查询国家(Country)
为Mexico
、Germany
的客户数量,并重命名为custCount
提示:请使用SELECT语句作答。
表结构:
列名 | 数据类型 | 长度 | 主码 | 说明 |
---|---|---|---|---|
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 | 传真 |
表样例
customers
表:
CustomerID | CompanyName | ContactName | ContactTitle | Address | City | Region | PostalCode | Country | Phone | Fax |
---|---|---|---|---|---|---|---|---|---|---|
ALFKI | Alfreds Futterkiste | Maria Anders | Sales Representative | Obere Str. 57 | Berlin | 12209 | Germany | 030-0074321 | 030-0076545 | |
ANATR | Ana Trujillo Emparedados y helados | Ana Trujillo | Owner | Avda. de la Constitucin 2222 | Mxico D.F. | 05021 | Mexico | (5) 555-4729 | (5) 555-3745 | |
ANTON | Antonio Moreno Taquera | Antonio Moreno | Owner | Mataderos 2312 | Mxico D.F. | 05023 | Mexico | (5) 555-3932 | ||
AROUT | Around the Horn | Thomas Hardy | Sales Representative | 120 Hanover Sq. | London | WA1 1DP | UK | (171) 555-7788 | (171) 555-6750 | |
BERGS | Berglunds snabbkp | Christina Berglund | Order Administrator | Berguvsvgen 8 | Lule | S-958 22 | Sweden | 0921-12 34 65 | 0921-12 34 67 | |
BLAUS | Blauer See Delikatessen | Hanna Moos | Sales Representative | Forsterstr. 57 | Mannheim | 68306 | Germany | 0621-08460 | 0621-08924 | |
BLONP | Blondesddsl pre et fils | Frdrique Citeaux | Marketing Manager | 24, place Klber | Strasbourg | 67000 | France | 88.60.15.31 | 88.60.15.32 | |
BOLID | Blido Comidas preparadas | Martn Sommer | Owner | C/ Araquil, 67 | Madrid | 28023 | Spain | (91) 555 22 82 | (91) 555 91 99 | |
BONAP | Bon app' | Laurence Lebihan | Owner | 12, rue des Bouchers | Marseille | 13008 | France | 91.24.45.40 | 91.24.45.41 | |
BOTTM | Bottom-Dollar Markets | Elizabeth Lincoln | Accounting Manager | 23 Tsawassen Blvd. | Tsawassen | BC | T2F 8M4 | Canada | (604) 555-4729 | (604) 555-3745 |
输出样例:
custCount |
---|
4 |
select count(*) custCount from customers where Country in ('Mexico','Germany')
10-123 A3-3查找产品表中最低的单价
在产品表(products)
中查询最低的单价(UnitPrice)
,并重命名为minUnitPrice
提示:请使用SELECT语句作答。
表结构:
列名 | 数据类型 | 长度 | 主码 | 说明 |
---|---|---|---|---|
ProductID | int | 11 | √ | 产品编号 |
ProductName | varchar | 40 | 产品名称 | |
SupplierID | int | 11 | 供应商编号 | |
CategoryID | int | 11 | 种类编号 | |
QuantityPerUnit | varchar | 20 | 数量 | |
UnitPrice | decimal | 10,4 | 单价 | |
UnitsInStock | smallint | 2 | 库存数量 | |
UnitsOnOrder | smallint | 2 | 订购数量 | |
ReorderLevel | smallint | 2 | 再次订购量 | |
Discontinued | bit | 1 | 中止 |
表样例
products
表:
ProductID | ProductName | SupplierID | CategoryID | QuantityPerUnit | UnitPrice | UnitsInStock | UnitsOnOrder | ReorderLevel | Discontinued |
---|---|---|---|---|---|---|---|---|---|
1 | Chai | 1 | 1 | 10 boxes x 20 bags | 18 | 39 | 0 | 10 | |
2 | Chang | 1 | 1 | 24 - 12 oz bottles | 19 | 17 | 40 | 25 | |
3 | Aniseed Syrup | 1 | 2 | 12 - 550 ml bottles | 10 | 13 | 70 | 25 | |
4 | Chef Anton's Cajun Seasoning | 2 | 2 | 48 - 6 oz jars | 22 | 53 | 0 | 0 | |
5 | Chef Anton's Gumbo Mix | 2 | 2 | 36 boxes | 21.35 | 0 | 0 | 0 | |
6 | Grandma's Boysenberry Spread | 3 | 2 | 12 - 8 oz jars | 25 | 120 | 0 | 25 | |
7 | Uncle Bob's Organic Dried Pears | 3 | 7 | 12 - 1 lb pkgs. | 30 | 15 | 0 | 10 | |
8 | Northwoods Cranberry Sauce | 3 | 2 | 12 - 12 oz jars | 40 | 6 | 0 | 0 | |
9 | Mishi Kobe Niku | 4 | 6 | 18 - 500 g pkgs. | 97 | 29 | 0 | 0 | |
10 | Ikura | 4 | 8 | 12 - 200 ml jars | 31 | 31 | 0 | 0 |
输出样例:
minUnitPrice |
---|
10 |
select min(UnitPrice) minUnitPrice from products
10-124 A3-4查询产品表中最大库存量
在产品表(products)
中查询最多的库存数量(UnitsInStock)
,并重命名为maxUnitsInStock
提示:请使用SELECT语句作答。
表结构:
列名 | 数据类型 | 长度 | 主码 | 说明 |
---|---|---|---|---|
ProductID | int | 11 | √ | 产品编号 |
ProductName | varchar | 40 | 产品名称 | |
SupplierID | int | 11 | 供应商编号 | |
CategoryID | int | 11 | 种类编号 | |
QuantityPerUnit | varchar | 20 | 数量 | |
UnitPrice | decimal | 10,4 | 单价 | |
UnitsInStock | smallint | 2 | 库存数量 | |
UnitsOnOrder | smallint | 2 | 订购数量 | |
ReorderLevel | smallint | 2 | 再次订购量 | |
Discontinued | bit | 1 | 中止 |
表样例
products
表:
ProductID | ProductName | SupplierID | CategoryID | QuantityPerUnit | UnitPrice | UnitsInStock | UnitsOnOrder | ReorderLevel | Discontinued |
---|---|---|---|---|---|---|---|---|---|
1 | Chai | 1 | 1 | 10 boxes x 20 bags | 18 | 39 | 0 | 10 | |
2 | Chang | 1 | 1 | 24 - 12 oz bottles | 19 | 17 | 40 | 25 | |
3 | Aniseed Syrup | 1 | 2 | 12 - 550 ml bottles | 10 | 13 | 70 | 25 | |
4 | Chef Anton's Cajun Seasoning | 2 | 2 | 48 - 6 oz jars | 22 | 53 | 0 | 0 | |
5 | Chef Anton's Gumbo Mix | 2 | 2 | 36 boxes | 21.35 | 0 | 0 | 0 | |
6 | Grandma's Boysenberry Spread | 3 | 2 | 12 - 8 oz jars | 25 | 120 | 0 | 25 | |
7 | Uncle Bob's Organic Dried Pears | 3 | 7 | 12 - 1 lb pkgs. | 30 | 15 | 0 | 10 | |
8 | Northwoods Cranberry Sauce | 3 | 2 | 12 - 12 oz jars | 40 | 6 | 0 | 0 | |
9 | Mishi Kobe Niku | 4 | 6 | 18 - 500 g pkgs. | 97 | 29 | 0 | 0 | |
10 | Ikura | 4 | 8 | 12 - 200 ml jars | 31 | 31 | 0 | 0 |
输出样例:
maxUnitsInStock |
---|
120 |
select max(UnitsInStock) maxUnitsInStock from products
10-125 A4-1查找订单表中每位顾客的平均运费
查询订单表(orders)
中每位顾客的平均运费
,结果显示为顾客编号(CustomerID)
和平均运费(avgFreight)
提示:请使用SELECT语句作答。
表结构:
列名 | 数据类型 | 长度 | 主码 | 说明 |
---|---|---|---|---|
OrderID | int | 11 | √ | 订单编号 |
CustomerID | varchar | 5 | 顾客编号 | |
EmployeeID | int | 11 | 员工编号 | |
OrderDate | datetime, | 订购日期 | ||
RequiredDate | datetime, | 预计到达日期 | ||
ShippedDate | datetime, | 发货日期 | ||
ShipVia | int | 11 | 运货商 | |
Freight | decimal | 10,4 | 运费 | |
ShipName | varchar | 40 | 货主姓名 | |
ShipAddress | varchar | 60 | 货主地址 | |
ShipCity | varchar | 15 | 所在城市 | |
ShipRegion | varchar | 15 | 区域 | |
ShipPostalCode | varchar | 10 | 邮政编码 | |
ShipCountry | varchar | 15 | 所在国家 |
表样例
请在这里给出上述表结构对应的表样例。例如
orders
表:
OrderID | CustomerID | EmployeeID | OrderDate | RequiredDate | ShippedDate | ShipVia | Freight | ShipName | ShipAddress | ShipCity | ShipRegion | ShipPostalCode | ShipCountry |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
10248 | VINET | 5 | 1996/7/4 00:00:00 | 1996/8/1 00:00:00 | 1996/7/16 00:00:00 | 3 | 32.3800 | Vins et alcools Chevalier | 59 rue de l-Abbaye | Reims | 51100 | France | |
10249 | TOMSP | 6 | 1996/7/5 00:00:00 | 1996/8/16 00:00:00 | 1996/7/10 00:00:00 | 1 | 11.6100 | Toms Spezialitten | Luisenstr. 48 | Mnster | 44087 | Germany | |
10250 | HANAR | 4 | 1996/7/8 00:00:00 | 1996/8/5 00:00:00 | 1996/7/12 00:00:00 | 2 | 65.8300 | Hanari Carnes | Rua do Pao, 67 | Rio de Janeiro | RJ | 05454-876 | Brazil |
10251 | VICTE | 3 | 1996/7/8 00:00:00 | 1996/8/5 00:00:00 | 1996/7/15 00:00:00 | 1 | 41.3400 | Victuailles en stock | 2, rue du Commerce | Lyon | 69004 | France | |
10252 | SUPRD | 4 | 1996/7/9 00:00:00 | 1996/8/6 00:00:00 | 1996/7/11 00:00:00 | 2 | 51.3000 | Suprmes dlices | Boulevard Tirou, 255 | Charleroi | B-6000 | Belgium | |
10253 | HANAR | 3 | 1996/7/10 00:00:00 | 1996/7/24 00:00:00 | 1996/7/16 00:00:00 | 2 | 58.1700 | Hanari Carnes | Rua do Pao, 67 | Rio de Janeiro | RJ | 05454-876 | Brazil |
10254 | CHOPS | 5 | 1996/7/11 00:00:00 | 1996/8/8 00:00:00 | 1996/7/23 00:00:00 | 2 | 22.9800 | Chop-suey Chinese | Hauptstr. 31 | Bern | 3012 | Switzerland | |
10255 | RICSU | 9 | 1996/7/12 00:00:00 | 1996/8/9 00:00:00 | 1996/7/15 00:00:00 | 3 | 148.3300 | Richter Supermarkt | Starenweg 5 | Genve | 1204 | Switzerland | |
10256 | WELLI | 3 | 1996/7/15 00:00:00 | 1996/8/12 00:00:00 | 1996/7/17 00:00:00 | 2 | 13.9700 | Wellington Importadora | Rua do Mercado, 12 | Resende | SP | 08737-363 | Brazil |
10257 | HILAA | 4 | 1996/7/16 00:00:00 | 1996/8/13 00:00:00 | 1996/7/22 00:00:00 | 3 | 81.9100 | HILARION-Abastos | Carrera 22 con Ave. Carlos Soublette #8-35 | San Cristbal | Tchira | 5022 | Venezuela |
输出样例:
CustomerID | avgFreight |
---|---|
CHOPS | 22.98000000 |
HANAR | 62.00000000 |
HILAA | 81.91000000 |
RICSU | 148.33000000 |
SUPRD | 51.30000000 |
TOMSP | 11.61000000 |
VICTE | 41.34000000 |
VINET | 32.38000000 |
WELLI | 13.97000000 |
select CustomerID,avg(Freight) avgFreight from orders group by CustomerID
10-126 A4-2统计顾客表中每个国家的顾客数量
查询出顾客表(customers)
中查询每个国家的客户数量,显示为国家(Country)
和客户数量(custCount)
提示:请使用SELECT语句作答。
表结构:
列名 | 数据类型 | 长度 | 主码 | 说明 |
---|---|---|---|---|
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 | 传真 |
表样例
customers
表:
CustomerID | CompanyName | ContactName | ContactTitle | Address | City | Region | PostalCode | Country | Phone | Fax |
---|---|---|---|---|---|---|---|---|---|---|
ALFKI | Alfreds Futterkiste | Maria Anders | Sales Representative | Obere Str. 57 | Berlin | 12209 | Germany | 030-0074321 | 030-0076545 | |
ANATR | Ana Trujillo Emparedados y helados | Ana Trujillo | Owner | Avda. de la Constitucin 2222 | Mxico D.F. | 05021 | Mexico | (5) 555-4729 | (5) 555-3745 | |
ANTON | Antonio Moreno Taquera | Antonio Moreno | Owner | Mataderos 2312 | Mxico D.F. | 05023 | Mexico | (5) 555-3932 | ||
AROUT | Around the Horn | Thomas Hardy | Sales Representative | 120 Hanover Sq. | London | WA1 1DP | UK | (171) 555-7788 | (171) 555-6750 | |
BERGS | Berglunds snabbkp | Christina Berglund | Order Administrator | Berguvsvgen 8 | Lule | S-958 22 | Sweden | 0921-12 34 65 | 0921-12 34 67 | |
BLAUS | Blauer See Delikatessen | Hanna Moos | Sales Representative | Forsterstr. 57 | Mannheim | 68306 | Germany | 0621-08460 | 0621-08924 | |
BLONP | Blondesddsl pre et fils | Frdrique Citeaux | Marketing Manager | 24, place Klber | Strasbourg | 67000 | France | 88.60.15.31 | 88.60.15.32 | |
BOLID | Blido Comidas preparadas | Martn Sommer | Owner | C/ Araquil, 67 | Madrid | 28023 | Spain | (91) 555 22 82 | (91) 555 91 99 | |
BONAP | Bon app' | Laurence Lebihan | Owner | 12, rue des Bouchers | Marseille | 13008 | France | 91.24.45.40 | 91.24.45.41 | |
BOTTM | Bottom-Dollar Markets | Elizabeth Lincoln | Accounting Manager | 23 Tsawassen Blvd. | Tsawassen | BC | T2F 8M4 | Canada | (604) 555-4729 | (604) 555-3745 |
输出样例:
Country | custCount |
---|---|
Canada | 1 |
France | 2 |
Germany | 2 |
Mexico | 2 |
Spain | 1 |
Sweden | 1 |
UK | 1 |
select Country,count(*) custCount from customers group by Country
10-127 A4-3在订单表中查找特定国家且平均运费不小于10的信息
查询订单表(orders)
中查找所在国家(ShipCountry)
为Belgium
,Switzerland
,且平均运费不小于10的的顾客及运费信息,结果显示为顾客编号(CustomerID)
和平均运费(avgFreight)
提示:请使用SELECT语句作答。
表结构:
列名 | 数据类型 | 长度 | 主码 | 说明 |
---|---|---|---|---|
OrderID | int | 11 | √ | 订单编号 |
CustomerID | varchar | 5 | 顾客编号 | |
EmployeeID | int | 11 | 员工编号 | |
OrderDate | datetime, | 订购日期 | ||
RequiredDate | datetime, | 预计到达日期 | ||
ShippedDate | datetime, | 发货日期 | ||
ShipVia | int | 11 | 运货商 | |
Freight | decimal | 10,4 | 运费 | |
ShipName | varchar | 40 | 货主姓名 | |
ShipAddress | varchar | 60 | 货主地址 | |
ShipCity | varchar | 15 | 所在城市 | |
ShipRegion | varchar | 15 | 区域 | |
ShipPostalCode | varchar | 10 | 邮政编码 | |
ShipCountry | varchar | 15 | 所在国家 |
表样例
请在这里给出上述表结构对应的表样例。例如
orders
表:
OrderID | CustomerID | EmployeeID | OrderDate | RequiredDate | ShippedDate | ShipVia | Freight | ShipName | ShipAddress | ShipCity | ShipRegion | ShipPostalCode | ShipCountry |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
10248 | VINET | 5 | 1996/7/4 00:00:00 | 1996/8/1 00:00:00 | 1996/7/16 00:00:00 | 3 | 32.3800 | Vins et alcools Chevalier | 59 rue de l-Abbaye | Reims | 51100 | France | |
10249 | TOMSP | 6 | 1996/7/5 00:00:00 | 1996/8/16 00:00:00 | 1996/7/10 00:00:00 | 1 | 11.6100 | Toms Spezialitten | Luisenstr. 48 | Mnster | 44087 | Germany | |
10250 | HANAR | 4 | 1996/7/8 00:00:00 | 1996/8/5 00:00:00 | 1996/7/12 00:00:00 | 2 | 65.8300 | Hanari Carnes | Rua do Pao, 67 | Rio de Janeiro | RJ | 05454-876 | Brazil |
10251 | VICTE | 3 | 1996/7/8 00:00:00 | 1996/8/5 00:00:00 | 1996/7/15 00:00:00 | 1 | 41.3400 | Victuailles en stock | 2, rue du Commerce | Lyon | 69004 | France | |
10252 | SUPRD | 4 | 1996/7/9 00:00:00 | 1996/8/6 00:00:00 | 1996/7/11 00:00:00 | 2 | 51.3000 | Suprmes dlices | Boulevard Tirou, 255 | Charleroi | B-6000 | Belgium | |
10253 | HANAR | 3 | 1996/7/10 00:00:00 | 1996/7/24 00:00:00 | 1996/7/16 00:00:00 | 2 | 58.1700 | Hanari Carnes | Rua do Pao, 67 | Rio de Janeiro | RJ | 05454-876 | Brazil |
10254 | CHOPS | 5 | 1996/7/11 00:00:00 | 1996/8/8 00:00:00 | 1996/7/23 00:00:00 | 2 | 22.9800 | Chop-suey Chinese | Hauptstr. 31 | Bern | 3012 | Switzerland | |
10255 | RICSU | 9 | 1996/7/12 00:00:00 | 1996/8/9 00:00:00 | 1996/7/15 00:00:00 | 3 | 148.3300 | Richter Supermarkt | Starenweg 5 | Genve | 1204 | Switzerland | |
10256 | WELLI | 3 | 1996/7/15 00:00:00 | 1996/8/12 00:00:00 | 1996/7/17 00:00:00 | 2 | 13.9700 | Wellington Importadora | Rua do Mercado, 12 | Resende | SP | 08737-363 | Brazil |
10257 | HILAA | 4 | 1996/7/16 00:00:00 | 1996/8/13 00:00:00 | 1996/7/22 00:00:00 | 3 | 81.9100 | HILARION-Abastos | Carrera 22 con Ave. Carlos Soublette #8-35 | San Cristbal | Tchira | 5022 | Venezuela |
输出样例:
|CustomerID|avgFreight|
|CHOPS|22.98000000|
|RICSU|148.33000000|
|SUPRD|51.30000000|
select CustomerID,avg(Freight) as avgFreight from orders
where ShipCountry in('Belgium','Switzerland')
group by CustomerID
having avg(Freight)>=10;
10-128 A4-4查找产品表中平均订购数大于特定值的产品信息
在产品表(products)
中查找平均订购数量大于15的产品信息,显示为:产品编号(ProductID)
,和总订货数量(重命名为sumUnitsOnOrder
)
提示:请使用SELECT语句作答。
表结构:
列名 | 数据类型 | 长度 | 主码 | 说明 |
---|---|---|---|---|
ProductID | int | 11 | √ | 产品编号 |
ProductName | varchar | 40 | 产品名称 | |
SupplierID | int | 11 | 供应商编号 | |
CategoryID | int | 11 | 种类编号 | |
QuantityPerUnit | varchar | 20 | 数量 | |
UnitPrice | decimal | 10,4 | 单价 | |
UnitsInStock | smallint | 2 | 库存数量 | |
UnitsOnOrder | smallint | 2 | 订购数量 | |
ReorderLevel | smallint | 2 | 再次订购量 | |
Discontinued | bit | 1 | 中止 |
表样例
products
表:
ProductID | ProductName | SupplierID | CategoryID | QuantityPerUnit | UnitPrice | UnitsInStock | UnitsOnOrder | ReorderLevel | Discontinued |
---|---|---|---|---|---|---|---|---|---|
1 | Chai | 1 | 1 | 10 boxes x 20 bags | 18 | 39 | 0 | 10 | |
2 | Chang | 1 | 1 | 24 - 12 oz bottles | 19 | 17 | 40 | 25 | |
3 | Aniseed Syrup | 1 | 2 | 12 - 550 ml bottles | 10 | 13 | 70 | 25 | |
4 | Chef Anton's Cajun Seasoning | 2 | 2 | 48 - 6 oz jars | 22 | 53 | 0 | 0 | |
5 | Chef Anton's Gumbo Mix | 2 | 2 | 36 boxes | 21.35 | 0 | 0 | 0 | |
6 | Grandma's Boysenberry Spread | 3 | 2 | 12 - 8 oz jars | 25 | 120 | 0 | 25 | |
7 | Uncle Bob's Organic Dried Pears | 3 | 7 | 12 - 1 lb pkgs. | 30 | 15 | 0 | 10 | |
8 | Northwoods Cranberry Sauce | 3 | 2 | 12 - 12 oz jars | 40 | 6 | 0 | 0 | |
9 | Mishi Kobe Niku | 4 | 6 | 18 - 500 g pkgs. | 97 | 29 | 0 | 0 | |
10 | Ikura | 4 | 8 | 12 - 200 ml jars | 31 | 31 | 0 | 0 |
输出样例:
ProductID | sumUnitsOnOrder |
---|---|
2 | 40 |
3 | 70 |
select
ProductID,SUM(UnitsOnOrder) AS sumUnitsOnOrder
from
products
group by
ProductID
having
AVG(UnitsOnOrder) > 15;
10-129 4-1 查询速度至少为160MHz的PC的制造商
本题目要求编写SQL语句,
查询速度至少为160
MHz的PC
的制造商。
提示:请使用SELECT语句作答。
表结构:
CREATE TABLE product
( maker CHAR(20) , --制造商
model CHAR(20) NOT NULL, --产品型号
type CHAR(20), --产品类型
PRIMARY KEY(model)
);
CREATE TABLE pc
( model CHAR(20) NOT NULL, --型号
speed DECIMAL(6,2), --速度
ram INT, --内存
hd DECIMAL(6,2), --硬盘容量
cd CHAR(4), --光驱
price INT, --价钱
PRIMARY KEY(model),
FOREIGN KEY(model) REFERENCES product(model)
);
表样例
product
表:
maker | model | type |
---|---|---|
D | 2003 | 便携式电脑 |
D | 3001 | 打印机 |
B | 3002 | 打印机 |
A | 1001 | 个人电脑 |
B | 1006 | 个人电脑 |
D | 1008 | 个人电脑 |
D | 1009 | 个人电脑 |
pc
表:
model | speed | ram | hd | cd | price |
---|---|---|---|---|---|
1001 | 133.00 | 16 | 1.60 | 6X | 1595 |
1006 | 200.00 | 32 | 3.10 | 8X | 2099 |
1008 | 180.00 | 32 | 2.00 | 8X | 3699 |
1009 | 200.00 | 32 | 2.50 | 8X | 2599 |
输出样例:
maker |
---|
B |
D |
select distinct maker from product join pc on product.model=pc.model where pc.speed>=160
10-130 4-2 查询价格最高的打印机型号
本题目要求编写SQL语句,
查询价格最高的打印机
型号。
提示:请使用SELECT语句作答。
表结构:
CREATE TABLE printer
( model CHAR(20) NOT NULL, --型号
color BIT, --是否彩色
type CHAR(10), --类型
price INT, --价钱
PRIMARY KEY(model),
FOREIGN KEY(model) REFERENCES product(model)
);
表样例
printer
表:
model | color | type | price |
---|---|---|---|
3001 | 1 | 喷墨 | 275 |
3002 | 1 | 喷墨 | 269 |
3003 | 0 | 激光 | 829 |
3004 | 0 | 激光 | 879 |
输出样例:
model |
---|
3004 |
select model from printer where price in (select max(price) from printer)
10-131 4-3 查询速度低于任何PC的便携式电脑
本题目要求编写SQL语句,
查询速度
低于任何PC的便携式电脑。
提示:请使用SELECT语句作答。
表结构:
CREATE TABLE pc
( model CHAR(20) NOT NULL, --型号
speed DECIMAL(6,2), --速度
ram INT, --内存
hd DECIMAL(6,2), --硬盘容量
cd CHAR(4), --光驱
price INT, --价钱
PRIMARY KEY(model)
);
CREATE TABLE laptop
( model CHAR(20) NOT NULL, --型号
speed DECIMAL(6,2), --速度
ram INT, --内存
hd DECIMAL(6,2), --硬盘容量
screen DECIMAL(6,2), --屏幕大小
price INT, --价钱
PRIMARY KEY(model)
);
表样例
pc
表:
model | speed | ram | hd | cd | price |
---|---|---|---|---|---|
1001 | 133.00 | 16 | 1.60 | 6X | 1595 |
1002 | 120.00 | 16 | 1.60 | 6X | 1399 |
1003 | 166.00 | 24 | 2.50 | 6X | 1899 |
1004 | 166.00 | 32 | 2.50 | 8X | 1999 |
1008 | 180.00 | 32 | 2.00 | 8X | 3699 |
1009 | 200.00 | 32 | 2.50 | 8X | 2599 |
laptop
表:
model | speed | ram | hd | screen | price |
---|---|---|---|---|---|
2001 | 100.00 | 20 | 1.10 | 9.50 | 1999 |
2002 | 117.00 | 12 | 0.75 | 11.30 | 2499 |
2004 | 133.00 | 16 | 1.10 | 11.20 | 3499 |
输出样例:
model |
---|
2001 |
2002 |
select model from laptop where speed<(select min(speed) from pc)
10-132 4-4 查询具有最高价格的机器的型号,机器包括PC、Laptop、Printer
本题目要求编写SQL语句,查询具有最高价格的机器的型号,机器包括PC、Laptop、Printer。
提示:请使用SELECT语句作答。
表结构:
CREATE TABLE pc
( model CHAR(20) NOT NULL, --型号
speed DECIMAL(6,2), --速度
ram INT, --内存
hd DECIMAL(6,2), --硬盘容量
cd CHAR(4), --光驱
price INT, --价钱
PRIMARY KEY(model)
);
CREATE TABLE laptop
( model CHAR(20) NOT NULL, --型号
speed DECIMAL(6,2), --速度
ram INT, --内存
hd DECIMAL(6,2), --硬盘容量
screen DECIMAL(6,2), --屏幕大小
price INT, --价钱
PRIMARY KEY(model)
);
CREATE TABLE printer
( model CHAR(20) NOT NULL, --型号
color BIT, --是否彩色
type CHAR(10), --类型
price INT, --价钱
PRIMARY KEY(model)
);
表样例
pc
表:
model | speed | ram | hd | cd | price |
---|---|---|---|---|---|
1001 | 133.00 | 16 | 1.60 | 6X | 1595 |
1002 | 120.00 | 16 | 1.60 | 6X | 1399 |
1003 | 166.00 | 24 | 2.50 | 6X | 1899 |
1004 | 166.00 | 32 | 2.50 | 8X | 1999 |
1008 | 180.00 | 32 | 2.00 | 8X | 3699 |
1009 | 200.00 | 32 | 2.50 | 8X | 2599 |
laptop
表:
model | speed | ram | hd | screen | price |
---|---|---|---|---|---|
2001 | 100.00 | 20 | 1.10 | 9.50 | 1999 |
2002 | 117.00 | 12 | 0.75 | 11.30 | 2499 |
2003 | 117.00 | 32 | 1.00 | 11.20 | 3599 |
printer
表:
model | color | type | price |
---|---|---|---|
3001 | 1 | 喷墨 | 275 |
3002 | 1 | 喷墨 | 269 |
3003 | 0 | 激光 | 829 |
3004 | 0 | 激光 | 879 |
输出样例:
model |
---|
1008 |
select a.model
from (select model,price price from pc
union
select model,price from laptop
union
select model,price from printer) a
where a.price=(select max(price) from (select model,price from pc
union
select model,price from laptop
union
select model,price from printer) b)
10-133 4-5 查询具有最低价格的的彩色打印机的制造商
本题目要求编写SQL语句,
查询具有最低价格的的彩色
打印机的制造商。
提示:请使用SELECT语句作答。
表结构:
CREATE TABLE product
( maker CHAR(20) , --制造商
model CHAR(20) NOT NULL, --产品型号
type CHAR(20), --产品类型
PRIMARY KEY(model)
);
CREATE TABLE printer
( model CHAR(20) NOT NULL, --型号
color BIT, --是否彩色
type CHAR(10), --类型
price INT, --价钱
PRIMARY KEY(model),
FOREIGN KEY(model) REFERENCES product(model)
);
表样例
product
表:
maker | model | type |
---|---|---|
D | 2003 | 便携式电脑 |
B | 1006 | 个人电脑 |
D | 3001 | 打印机 |
B | 3002 | 打印机 |
D | 3003 | 打印机 |
B | 3004 | 打印机 |
printer
表:
model | color | type | price |
---|---|---|---|
3001 | 1 | 喷墨 | 275 |
3002 | 1 | 喷墨 | 369 |
3003 | 0 | 激光 | 829 |
3004 | 0 | 激光 | 879 |
输出样例:
maker |
---|
D |
select a.maker from (select maker,price from product
join printer on printer.model=product.model
where printer.color=1
) a
where a.price =(select min(price) from
(select maker,price from product
join printer on printer.model=product.model
where printer.color=1
) a)
10-134 4-6 查询在具有最小内存容量的所有PC中具有最快处理器的PC制造商
本题目要求编写SQL语句,
查询在具有最小内存容量的所有PC中具有最快处理器的PC制造商。
提示:请使用SELECT语句作答。
表结构:
CREATE TABLE product
( maker CHAR(20) , --制造商
model CHAR(20) NOT NULL, --产品型号
type CHAR(20), --产品类型
PRIMARY KEY(model)
);
CREATE TABLE pc
( model CHAR(20) NOT NULL, --型号
speed DECIMAL(6,2), --速度
ram INT, --内存
hd DECIMAL(6,2), --硬盘容量
cd CHAR(4), --光驱
price INT, --价钱
PRIMARY KEY(model),
FOREIGN KEY(model) REFERENCES product(model)
);
表样例
product
表:
maker | model | type |
---|---|---|
D | 2003 | 便携式电脑 |
D | 3001 | 打印机 |
A | 1001 | 个人电脑 |
A | 1002 | 个人电脑 |
A | 1003 | 个人电脑 |
B | 1004 | 个人电脑 |
pc
表:
model | speed | ram | hd | cd | price |
---|---|---|---|---|---|
1001 | 133.00 | 16 | 1.60 | 6X | 1595 |
1002 | 120.00 | 16 | 1.60 | 6X | 1399 |
1003 | 166.00 | 24 | 2.50 | 6X | 1899 |
1004 | 166.00 | 32 | 2.50 | 8X | 1999 |
输出样例:
maker |
---|
A |
select maker
from pc,product
where pc.model = product.model
and ram = (select min(ram) from pc)
and speed = (select max(speed) from pc where ram = (select min(ram) from pc));
10-135 5-1 查询销售便携式电脑但不销售PC的厂商
本题目要求编写SQL语句,
查询销售便携式电脑
但不销售PC
的厂商。
提示:请使用SELECT语句作答。
表结构:
CREATE TABLE product
( maker CHAR(20) , --制造商
model CHAR(20) NOT NULL, --产品型号
type CHAR(20), --产品类型
PRIMARY KEY(model)
);
CREATE TABLE pc
( model CHAR(20) NOT NULL, --型号
speed DECIMAL(6,2), --速度
ram INT, --内存
hd DECIMAL(6,2), --硬盘容量
cd CHAR(4), --光驱
price INT, --价钱
PRIMARY KEY(model),
FOREIGN KEY(model) REFERENCES product(model)
);
CREATE TABLE laptop
( model CHAR(20) NOT NULL, --型号
speed DECIMAL(6,2), --速度
ram INT, --内存
hd DECIMAL(6,2), --硬盘容量
screen DECIMAL(6,2), --屏幕大小
price INT, --价钱
PRIMARY KEY(model),
FOREIGN KEY(model) REFERENCES product(model)
);
表样例
product
表:
maker | model | type |
---|---|---|
D | 2001 | 便携式电脑 |
D | 2002 | 便携式电脑 |
E | 2004 | 便携式电脑 |
D | 3001 | 打印机 |
B | 3002 | 打印机 |
A | 1001 | 个人电脑 |
B | 1004 | 个人电脑 |
D | 1008 | 个人电脑 |
pc
表:
model | speed | ram | hd | cd | price |
---|---|---|---|---|---|
1001 | 133.00 | 16 | 1.60 | 6X | 1595 |
1004 | 166.00 | 32 | 2.50 | 8X | 1999 |
1008 | 180.00 | 32 | 2.00 | 8X | 3699 |
laptop
表:
model | speed | ram | hd | screen | price |
---|---|---|---|---|---|
2001 | 100.00 | 20 | 1.10 | 9.50 | 1999 |
2002 | 117.00 | 12 | 0.75 | 11.30 | 2499 |
2004 | 133.00 | 16 | 1.10 | 11.20 | 3499 |
输出样例:
maker |
---|
E |
select distinct maker
from laptop,product
where laptop.model = product.model
and product.maker not in (select maker
from pc,product
where pc.model = product.model);
10-136 5-2 查询至少生产两种不同的计算机(PC或便携式电脑)且机器速度至少为133的厂商
本题目要求编写SQL语句,
查询至少生产两种不同型号的计算机(PC
或便携式电脑
)且机器速度至少为133
的厂商,输出结果按照制造商升序排列。
提示:
本题有三种情况:
(1) 至少生产两种不同PC的厂商
(2) 至少生产两种不同便携式电脑的厂商
(3) 至少生产一种PC且至少生产一种便携式电脑的厂商。
表结构:
CREATE TABLE product
( maker CHAR(20) , --制造商
model CHAR(20) NOT NULL, --产品型号
type CHAR(20), --产品类型
PRIMARY KEY(model)
);
CREATE TABLE pc
( model CHAR(20) NOT NULL, --型号
speed DECIMAL(6,2), --速度
ram INT, --内存
hd DECIMAL(6,2), --硬盘容量
cd CHAR(4), --光驱
price INT, --价钱
PRIMARY KEY(model),
FOREIGN KEY(model) REFERENCES product(model)
);
CREATE TABLE laptop
( model CHAR(20) NOT NULL, --型号
speed DECIMAL(6,2), --速度
ram INT, --内存
hd DECIMAL(6,2), --硬盘容量
screen DECIMAL(6,2), --屏幕大小
price INT, --价钱
PRIMARY KEY(model),
FOREIGN KEY(model) REFERENCES product(model)
);
表样例
product
表:
maker | model | type |
---|---|---|
D | 2001 | 便携式电脑 |
D | 2002 | 便携式电脑 |
E | 2004 | 便携式电脑 |
D | 3001 | 打印机 |
B | 3002 | 打印机 |
A | 1001 | 个人电脑 |
A | 1002 | 个人电脑 |
A | 1003 | 个人电脑 |
D | 1008 | 个人电脑 |
pc
表:
model | speed | ram | hd | cd | price |
---|---|---|---|---|---|
1001 | 133.00 | 16 | 1.60 | 6X | 1595 |
1002 | 120.00 | 16 | 1.60 | 6X | 1399 |
1003 | 166.00 | 32 | 2.50 | 8X | 1999 |
1008 | 180.00 | 32 | 2.00 | 8X | 3699 |
laptop
表:
model | speed | ram | hd | screen | price |
---|---|---|---|---|---|
2001 | 100.00 | 20 | 1.10 | 9.50 | 1999 |
2002 | 133.00 | 12 | 0.75 | 11.30 | 2499 |
2004 | 133.00 | 16 | 1.10 | 11.20 | 3499 |
输出样例:
maker |
---|
A |
D |
select maker
from
(
select maker,speed
from product join pc on product.model=pc.model
union
select maker,speed
from product join laptop on product.model=laptop.model
) as A
where A.speed>=133
group by A.maker
having count(*)>=2;