PTA - 数据库合集18

目录

10-109 3-2-(c)查询所有出售便携式电脑(而不出售PC机)的生产厂商

10-110 3-2-(d)查询在两种或两种以上PC机上出现的硬盘容量

10-111 3-2-(e)查询拥有相同速度和内存的PC机的成对的型号

10-112 A1-6在顾客表中找出不是特定城市的顾客信息


10-109 3-2-(c)查询所有出售便携式电脑(而不出售PC机)的生产厂商

分数 10

全屏浏览题目

切换布局

作者 lhm

单位 河北农业大学

本题目要求编写SQL语句,
查询所有出售便携式电脑(而不出售PC机)的生产厂商。

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

表结构:

CREATE TABLE product
( maker CHAR(20) ,          --制造商
  model CHAR(20) NOT NULL,  --产品型号
  type CHAR(20),            --产品类型
  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),
  FOREIGN KEY(model) REFERENCES product(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表:

makermodeltype
D2003便携式电脑
D3001打印机
B1006个人电脑
B3002打印机
E2004便携式电脑
D1008个人电脑
A1001个人电脑
A1002个人电脑

pc表:

modelspeedramhdcdprice
1001133.00161.606X1595
1002120.00161.606X1399
1008180.00322.008X3699

laptop表:

modelspeedramhdscreenprice
2003117321.0011.203599
2004133161.1011.303699

输出样例:

maker
E
SELECT DISTINCT 
    product.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-110 3-2-(d)查询在两种或两种以上PC机上出现的硬盘容量

分数 10

全屏浏览题目

切换布局

作者 lhm

单位 河北农业大学

本题目要求编写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) 
);

表样例

pc表:

modelspeedramhdcdprice
1001133.00161.606X1595
1002120.00161.606X1399
1003166.00242.506X1899
1004166.00322.508X1999
1008180.00322.008X3699
1009200.00322.508X2599

输出样例:

hd
1.60
2.50

 

SELECT 
    hd
FROM 
    pc
GROUP BY
    hd
HAVING
    count(*) >= 2;

 

10-111 3-2-(e)查询拥有相同速度和内存的PC机的成对的型号

分数 10

全屏浏览题目

切换布局

作者 lhm

单位 河北农业大学

本题目要求编写SQL语句,
查询拥有相同速度和内存的PC机的成对的型号,输出结果属性名分别为model1,model2。

提示:请使用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)
);

表样例

pc表:

modelspeedramhdcdprice
1001133.00161.606X1595
1002120.00161.606X1399
1003166.00242.506X1899
1004166.00322.508X1999
1006200.00323.108X2099
1008180.00322.008X3699
1009200.00322.508X2599

输出样例:

model1model2
10061009
SELECT
    a.model as model1,b.model as model2
FROM
    pc as a,pc as b
WHERE
    a.speed=b.speed and a.ram=b.ram and a.model<b.model
ORDER BY 
    model1;

 

10-112 A1-6在顾客表中找出不是特定城市的顾客信息

分数 20

全屏浏览题目

切换布局

作者 柯海丰

单位 浙大城市学院

顾客表(customers)中找出所在城市(City)不是MadridTorinoParis顾客编号(CustomerID)电话(Phone)

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

表结构:

列名数据类型长度主码说明
CustomerIDvarchar5顾客编号
CompanyNamevarchar40公司名称
ContactNamevarchar30联系姓名
ContactTitlevarchar30联系头衔
Addressvarchar60地址
Cityvarchar15城市
Regionvarchar15区域
PostalCodevarchar10邮政编码
Countryvarchar15国家
Phonevarchar24电话
Faxvarchar24传真

表样例

customers表:

CustomerIDCityPhone
ALFKIBerlin030-0074321
ANATRMxico D.F.(5) 555-4729
ANTONMxico D.F.(5) 555-3932
AROUTLondon(171) 555-7788
BERGSLule0921-12 34 65
BLAUSMannheim0621-08460
BLONPStrasbourg88.60.15.31
BOLIDMadrid(91) 555 22 82
BONAPMarseille91.24.45.40
BOTTMTsawassen(604) 555-4729

输出样例:

CustomerIDPhone
ALFKI030-0074321
ANATR(5) 555-4729
ANTON(5) 555-3932
AROUT(171) 555-7788
BERGS0921-12 34 65
BLAUS0621-08460
BLONP88.60.15.31
BONAP91.24.45.40
BOTTM(604) 555-4729
SELECT
    CustomerID,Phone
FROM 
    customers
WHERE 
    City NOT IN('Madrid','Torino','Paris')

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小羊 : )

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值