PTA 10-101 A1-2根据所在国家查找订单信息

  • Post author:
  • Post category:其他




订单表(orders)

中找出

所在国家(ShipCountry)



Germany



Brazil



France



订单编号(OrderID)



顾客编号(CustomerID)

提示:请使用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 ShipCountry
10248 VINET France
10249 TOMSP Germany
10250 HANAR Brazil
10251 VICTE France
10252 SUPRD Belgium
10253 HANAR Brazil
10254 CHOPS Switzerland
10255 RICSU Switzerland
10256 WELLI Brazil
10257 HILAA Venezuela

输出样例:

OrderID CustomerID
10248 VINET
10249 TOMSP
10250 HANAR
10251 VICTE
10253 HANAR
10256 WELLI

代码如下:

SELECT
    OrderID , CustomerID
FROM 
    orders
WHERE
    ShipCountry = 'Germany' OR ShipCountry = 'Brazil' OR ShipCountry = 'France'


10-102 A1-3查询顾客表中所有不重复的城市

查询出

顾客表(customers)

中所有不重复的

所在城市(City)

提示:请使用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 City
ANATR Ana Trujillo Emparedados y helados Mxico D.F.
ANTON Antonio Moreno Taquera Mxico D.F.
AROUT Around the Horn London
BERGS Berglunds snabbkp Lule
BLAUS Blauer See Delikatessen Mannheim
BLONP Blondesddsl pre et fils Strasbourg
BOLID Blido Comidas preparadas Madrid
BONAP Bon app’ Marseille
BOTTM Bottom-Dollar Markets Tsawassen

输出样例:

City
Berlin
Mxico D.F.
London
Lule
Mannheim
Strasbourg
Madrid
Marseille
Tsawassen

代码如下:

SELECT DISTINCT 
    City
FROM 
    customers


10-103 A1-4在产品表中找出库存数量大于50的产品的信息



产品表(products)

中找出

库存数量(UnitsInStock)

大于

50



产品编号(ProductID)

,

产品名称(ProductName)


提示:请使用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 UnitsInStock
1 Chai 39
2 Chang 17
3 Aniseed Syrup 13
4 Chef Anton’s Cajun Seasoning 53
5 Chef Anton’s Gumbo Mix 0
6 Grandma’s Boysenberry Spread 120
7 Uncle Bob’s Organic Dried Pears 15
8 Northwoods Cranberry Sauce 6
9 Mishi Kobe Niku 29
10 Ikura 31

输出样例:

请在这里给出输出样例。例如:

ProductID ProductName
4 Chef Anton’s Cajun Seasoning
6 Grandma’s Boysenberry Spread

代码如下:

SELECT 
    ProductID,ProductName
FROM 
    products
WHERE 
    UnitsInStock > 50;


10-104 3-1-(d)查询比电影《M1》时间更长的电影

本题目要求编写SQL语句,

查询比电影

M1

时间更长的电影。

提示:请使用SELECT语句作答。

表结构:

CREATE TABLE Movie              --电影表
(  title CHAR(20) NOT NULL,     --电影名称
  year INT NOT NULL,            --拍摄年份
  length INT ,                  --长度
  inColor BIT DEFAULT 1,        --是否彩色
  studioName CHAR(20),          --所属电影公司
  producerCertID CHAR(10),      --制片人
  PRIMARY KEY (title,year)  
);

表样例


Movie

表:

title year length inColor studioName producerCertID
M1 2018 100 1 st1 0001
M2 2018 100 1 st1 0002
M3 2019 120 1 st2 0003
M4 2017 90 1 st2 0004
M5 2014 110 1 st2 0004
M6 2015 95 1 st2 0004

输出样例:

title year
M3 2019
M5 2014

代码如下:

SELECT
     title,year 
FROM 
    Movie 
WHERE 
    length > 100;


10-105 3-1-(e)查询比a1更富有的行政长官

本题目要求编写SQL语句,

查询比

a1

更富有的行政长官。

提示:请使用SELECT语句作答。

表结构:

CREATE TABLE MovieExec        
(  name CHAR(20),              --姓名  
  address VARCHAR(255),        --地址
  certID  CHAR(10) NOT NULL,   --身份证号
  netWorth INT,                --资产
  PRIMARY KEY(certID)
);
CREATE TABLE Studio           
(  name CHAR(20) NOT NULL ,   --公司名称
  address VARCHAR(255),       --地址  
  presCertID CHAR(10) ,       --行政总裁
  PRIMARY KEY(name),
  FOREIGN KEY(presCertID) REFERENCES MovieExec(certID)
);

表样例


MovieExec

name address certID netWorth
a1 b1 0001 111
a2 b2 0002 222
a3 b3 0003 333
a4 b4 0004 444
S4 sa4 0005 444


Studio

name address presCertID
st1 sta1 0001
st2 sta2 0003

输出样例:

name
a3

代码如下:

SELECT 
    name
FROM 
    MovieExec
WHERE 
    networth > ANY(
    SELECT networth 
    FROM MovieExec
    WHERE name='a1'
    )
AND 
    certID IN (
    SELECT presCertID
    FROM Studio
)



版权声明:本文为jdhsgwhd原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。