PTA - 数据库合集3

10-132 4-4 查询具有最高价格的机器的型号,机器包括PC、Laptop、Printer

分数 10

全屏浏览题目

切换布局

作者 lhm

单位 河北农业大学

本题目要求编写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表:

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

laptop表:

modelspeedramhdscreenprice
2001100.00201.109.501999
2002117.00120.7511.302499
2003117.00321.0011.203599

printer表:

modelcolortypeprice
30011喷墨275
30021喷墨269
30030激光829
30040激光879

输出样例:

model
1008
SELECT 
    model
FROM 
    (select model, price from pc
      UNION
      select model, price from laptop
      UNION
      select model, price from printer) AS A
ORDER BY 
    A.price DESC limit 1

10-133 4-5 查询具有最低价格的的彩色打印机的制造商

分数 10

全屏浏览题目

切换布局

作者 lhm

单位 河北农业大学

本题目要求编写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表:

makermodeltype
D2003便携式电脑
B1006个人电脑
D3001打印机
B3002打印机
D3003打印机
B3004打印机

printer表:

modelcolortypeprice
30011喷墨275
30021喷墨369
30030激光829
30040激光879

输出样例:

maker
D
SELECT
    maker
FROM
    product , printer
WHERE
    product.model = printer.model
and color='1' 
AND
    price IN(SELECT MIN(price) FROM printer,product WHERE product.model=printer.model
    AND color='1')

10-134 4-6 查询在具有最小内存容量的所有PC中具有最快处理器的PC制造商

分数 10

全屏浏览题目

切换布局

作者 lhm

单位 河北农业大学

本题目要求编写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表:

makermodeltype
D2003便携式电脑
D3001打印机
A1001个人电脑
A1002个人电脑
A1003个人电脑
B1004个人电脑

pc表:

modelspeedramhdcdprice
1001133.00161.606X1595
1002120.00161.606X1399
1003166.00242.506X1899
1004166.00322.508X1999

输出样例:

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的厂商

分数 10

全屏浏览题目

切换布局

作者 lhm

单位 河北农业大学

本题目要求编写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表:

makermodeltype
D2001便携式电脑
D2002便携式电脑
E2004便携式电脑
D3001打印机
B3002打印机
A1001个人电脑
B1004个人电脑
D1008个人电脑

pc表:

modelspeedramhdcdprice
1001133.00161.606X1595
1004166.00322.508X1999
1008180.00322.008X3699

laptop表:

modelspeedramhdscreenprice
2001100.00201.109.501999
2002117.00120.7511.302499
2004133.00161.1011.203499

输出样例:

maker
E
SELECT DISTINCT 
    maker
FROM 
    product
WHERE 
    TYPE='便携式电脑' AND maker NOT IN (
SELECT
    maker
FROM 
    product
WHERE 
    TYPE='个人电脑'
)

10-138 5-4 查询至少生产三种不同速度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 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
D2001便携式电脑
D2002便携式电脑
E2004便携式电脑
D3001打印机
B3002打印机
A1001个人电脑
A1002个人电脑
A1003个人电脑
D1008个人电脑

pc表:

modelspeedramhdcdprice
1001133.00161.606X1595
1002120.00161.606X1399
1003166.00322.508X1999
1008180.00322.008X3699

输出样例:

maker
A
SELECT
    maker
FROM 
    pc
LEFT JOIN 
    product 
ON 
    product.`model`=pc.`model`
GROUP BY 
    maker
HAVING 
    COUNT(DISTINCT speed)>=3

10-140 6-2 查询价格超过2500美元的便携式电脑的平均速度

分数 10

全屏浏览题目

切换布局

作者 lhm

单位 河北农业大学

本题目要求编写SQL语句,
查询价格超过2500美元的便携式电脑的平均速度。

表结构:

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) 
);

表样例

laptop表:

modelspeedramhdscreenprice
2001100.00201.109.501999
2002117.00120.7511.302599
2003117.00321.0011.203599

输出样例:

avg_speed
117.00

SELECT 
    AVG(speed) AS avg_speed
FROM 
    laptop
WHERE 
    price > 2500;
    

10-141 6-3 查询厂商"A"生产的PC的平均价格

分数 10

全屏浏览题目

切换布局

作者 lhm

单位 河北农业大学

本题目要求编写SQL语句,
查询厂商A生产的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)
);

表样例

product表:

makermodeltype
D2003便携式电脑
D3001打印机
A1001个人电脑
A1002个人电脑
B1004个人电脑
C1005个人电脑

pc表:

modelspeedramhdcdprice
1001133.00161.606X1595
1002120.00161.606X1399
1004166.00322.508X1999
1005166.00162.008X1999

输出样例:

avg_price
1497.00
SELECT 
    avg(price) as avg_price
FROM
    product,pc
WHERE 
    product.model = pc.model
AND
    maker = 'A';

10-143 6-6 查询各厂商生产的便携式电脑的显示器平均尺寸

分数 10

全屏浏览题目

切换布局

作者 lhm

单位 河北农业大学

本题目要求编写SQL语句,
查询各厂商生产的便携式电脑的显示器平均尺寸。

表结构:

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) 
);

表样例

product表:

makermodeltype
D2001便携式电脑
D2002便携式电脑
E2004便携式电脑
B1006个人电脑
B3002打印机
D3001打印机

laptop表:

modelspeedramhdscreenprice
2001100.00201.109.501999
2002117.00120.7511.302499
2004133.00161.1011.203499

输出样例:

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

makeravg_screen
D10.40
E11.20
SELECT
    maker,avg(screen) as avg_screen
FROM 
    (SELECT maker,screen
    FROM product,laptop
    WHERE product.model = laptop.model) temp
GROUP BY 
    maker

10-144 6-7 查询生产三种不同型号的PC的厂商

分数 10

全屏浏览题目

切换布局

作者 lhm

单位 河北农业大学

本题目要求编写SQL语句,
查询生产种不同型号的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)
);

表样例

product表:

makermodeltype
D2003便携式电脑
D3001打印机
A1001个人电脑
A1002个人电脑
A1003个人电脑
B1004个人电脑
C1005个人电脑

pc表:

modelspeedramhdcdprice
1001133.00161.606X1595
1002120.00161.606X1399
1003166.00242.006X1899
1004166.00322.508X1999
1005166.00162.008X1999

输出样例:

maker
A
SELECT
    maker
FROM
    (SELECT maker,COUNT(maker) AS nums
    FROM (SELECT 
                maker, pc.model
            FROM 
                pc,product
            WHERE 
                pc.model = product.model) TEMP
            GROUP BY 
                maker
            HAVING 
                nums = 3) TEMP1

10-149 B1-4统计各个供应商及其供应情况

分数 20

全屏浏览题目

切换布局

作者 柯海丰

单位 浙大城市学院

统计各个国家(Country)的供应商的供应产品情况,显示为:国家(Country),库存总量(重命名为sumUnitsInStock),平均单价(重命名为avgUnitPrice

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

表结构:

products

列名数据类型长度主码说明
ProductIDint11产品编号
ProductNamevarchar40产品名称
SupplierIDint11供应商编号
CategoryIDint11种类编号
QuantityPerUnitvarchar20数量
UnitPricedecimal10,4单价
UnitsInStocksmallint2库存数量
UnitsOnOrdersmallint2订购数量
ReorderLevelsmallint2再次订购量
Discontinuedbit1中止

suppliers

列名数据类型长度主码说明
SupplierIDint11供应商编号
CompanyNamevarchar40公司名称
ContactNamevarchar30联系人
ContactTitlevarchar30职务
Addressvarchar60地址
Cityvarchar15城市
Regionvarchar15区域
PostalCodevarchar10邮政编码
Countryvarchar15国家
Phonevarchar24电话
Faxvarchar24传真
HomePagemediumtext,主页

表样例

products表:

ProductIDProductNameSupplierIDCategoryIDQuantityPerUnitUnitPriceUnitsInStockUnitsOnOrderReorderLevelDiscontinued
1Chai1110 boxes x 20 bags1839010
2Chang1124 - 12 oz bottles19174025
3Aniseed Syrup1212 - 550 ml bottles10137025
4Chef Anton's Cajun Seasoning2248 - 6 oz jars225300
5Chef Anton's Gumbo Mix2236 boxes21.35000
6Grandma's Boysenberry Spread3212 - 8 oz jars25120025
7Uncle Bob's Organic Dried Pears3712 - 1 lb pkgs.3015010
8Northwoods Cranberry Sauce3212 - 12 oz jars40600
9Mishi Kobe Niku4618 - 500 g pkgs.972900
10Ikura4812 - 200 ml jars313100

suppliers表:

SupplierIDCompanyNameContactNameContactTitleAddressCityRegionPostalCodeCountryPhoneFaxHomePage
1Exotic LiquidsCharlotte CooperPurchasing Manager49 Gilbert St.LondonEC1 4SDUK(171) 555-2222
2New Orleans Cajun DelightsShelley BurkeOrder AdministratorP.O. Box 78934New OrleansLA70117USA(100) 555-4822#CAJUN.HTM#
3Grandma Kelly's HomesteadRegina MurphySales Representative707 Oxford Rd.Ann ArborMI48104USA(313) 555-5735(313) 555-3349
4Tokyo TradersYoshi NagaseMarketing Manager9-8 SekimaiMusashino-shiTokyo100Japan(03) 3555-5011
5Cooperativa de Quesos 'Las Cabras'Antonio del Valle SaavedraExport AdministratorCalle del Rosal 4OviedoAsturias33007Spain(98) 598 76 54
6Mayumi'sMayumi OhnoMarketing Representative92 Setsuko Chuo-kuOsaka545Japan(06) 431-7877Mayumi's (on the World Wide Web)#http://www.microsoft.com/accessdev/sampleapps/mayumi.htm#
7Pavlova, Ltd.Ian DevlingMarketing Manager74 Rose St. Moonie PondsMelbourneVictoria3058Australia(03) 444-2343(03) 444-6588
8Specialty Biscuits, Ltd.Peter WilsonSales Representative29 King's WayManchesterM14 GSDUK(161) 555-4448
9PB Knckebrd ABLars PetersonSales AgentKaloadagatan 13GteborgS-345 67Sweden031-987 65 43031-987 65 91
10Refrescos Americanas LTDACarlos DiazMarketing ManagerAv. das Americanas 12.890So Paulo5442Brazil(11) 555 4640

输出样例:

CountrysumUnitsInStockavgUnitPrice
Japan6064.00000000
UK6915.66666667
USA19427.67000000
SELECT 
    b.Country,SUM(a.UnitsInStock) AS sumUnitsInStock,AVG(a.UnitPrice) AS avgUnitPrice
FROM 
    products a,suppliers b
WHERE
    a.SupplierID= b.SupplierID 
GROUP BY
    b.Country

10-201 C2-3根据运费调整订单单价

分数 20

全屏浏览题目

切换布局

作者 柯海丰

单位 浙大城市学院

对于运费(Freight)超过30.00的订单,将其相关的订单详情表(orderdetails)中产品的单价(UnitPrice)提高15%

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

表结构:

orderdetails表:

列名数据类型长度主码说明
OrderIDint11订单编号
ProductIDint11产品编号
UnitPricedecimal10,4单位价格
Quantitysmallint2数量
Discountdouble8,0折扣

orders表:

列名数据类型长度主码说明
OrderIDint11订单编号
CustomerIDvarchar5顾客编号
EmployeeIDint11员工编号
OrderDatedatetime,订购日期
RequiredDatedatetime,预计到达日期
ShippedDatedatetime,发货日期
ShipViaint11运货商
Freightdecimal10,4运费
ShipNamevarchar40货主姓名
ShipAddressvarchar60货主地址
ShipCityvarchar15所在城市
ShipRegionvarchar15区域
ShipPostalCodevarchar10邮政编码
ShipCountryvarchar15所在国家

表样例

orderdetails表:

OrderIDProductIDUnitPriceQuantityDiscount
102481114.0000120
10248429.8000100
102487234.800050
102491418.600090
102495142.4000400
10250417.7000100
102505142.4000350
102506516.8000150
102512216.800060
102515715.6000150

orders表:

OrderIDCustomerIDEmployeeIDOrderDateRequiredDateShippedDateShipViaFreightShipNameShipAddressShipCityShipRegionShipPostalCodeShipCountry
10248VINET51996/7/4 00:00:001996/8/1 00:00:001996/7/16 00:00:00332.3800Vins et alcools Chevalier59 rue de l-AbbayeReims51100France
10249TOMSP61996/7/5 00:00:001996/8/16 00:00:001996/7/10 00:00:00111.6100Toms SpezialittenLuisenstr. 48Mnster44087Germany
10250HANAR41996/7/8 00:00:001996/8/5 00:00:001996/7/12 00:00:00265.8300Hanari CarnesRua do Pao, 67Rio de JaneiroRJ05454-876Brazil
10251VICTE31996/7/8 00:00:001996/8/5 00:00:001996/7/15 00:00:00141.3400Victuailles en stock2, rue du CommerceLyon69004France
10252SUPRD41996/7/9 00:00:001996/8/6 00:00:001996/7/11 00:00:00251.3000Suprmes dlicesBoulevard Tirou, 255CharleroiB-6000Belgium
10253HANAR31996/7/10 00:00:001996/7/24 00:00:001996/7/16 00:00:00258.1700Hanari CarnesRua do Pao, 67Rio de JaneiroRJ05454-876Brazil
10254CHOPS51996/7/11 00:00:001996/8/8 00:00:001996/7/23 00:00:00222.9800Chop-suey ChineseHauptstr. 31Bern3012Switzerland
10255RICSU91996/7/12 00:00:001996/8/9 00:00:001996/7/15 00:00:003148.3300Richter SupermarktStarenweg 5Genve1204Switzerland
10256WELLI31996/7/15 00:00:001996/8/12 00:00:001996/7/17 00:00:00213.9700Wellington ImportadoraRua do Mercado, 12ResendeSP08737-363Brazil
10257HILAA41996/7/16 00:00:001996/8/13 00:00:001996/7/22 00:00:00381.9100HILARION-AbastosCarrera 22 con Ave. Carlos Soublette #8-35San CristbalTchira5022Venezuela

输出样例:

OrderIDProductIDUnitPriceQuantityDiscount
102481116.1000120
102484211.2700100
102487240.020050
102491418.600090
102495142.4000400
10250418.8550100
102505148.7600350
102506519.3200150
102512219.320060
102515717.9400150

UPDATE 
    orderdetails
SET 
    UnitPrice = UnitPrice * 1.15
WHERE 
    OrderID in(
	SELECT 
        OrderID
	FROM 
        orders
	WHERE 
        Freight>30
)

10-202 C2-4修改订货数量最少的产品单价

分数 20

全屏浏览题目

切换布局

作者 柯海丰

单位 浙大城市学院

对于订单详情表(orderdetails)中订货数量最少的产品,将其单价下调1

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

Warning:本题可能涉及mysql中有关You can't specify target table for update in FROM clause的错误,需要适当调整语句写法

表结构:

orderdetails表:

列名数据类型长度主码说明
OrderIDint11订单编号
ProductIDint11产品编号
UnitPricedecimal10,4单位价格
Quantitysmallint2数量
Discountdouble8,0折扣

表样例

orderdetails表:

OrderIDProductIDUnitPriceQuantityDiscount
102481114.0000120
10248429.8000100
102487234.800050
102491418.600090
102495142.4000400
10250417.7000100
102505142.4000350
102506516.8000150
102512216.800060
102515715.6000150

输出样例:

OrderIDProductIDUnitPriceQuantityDiscount
102481114.0000120
10248429.8000100
102487233.800050
102491418.600090
102495142.4000400
10250417.7000100
102505142.4000350
102506516.8000150
102512216.800060
102515715.6000150

UPDATE 
    orderdetails
SET 
    unitprice = unitprice - 1
WHERE 
    productid IN (
		SELECT 
            t.productid
		FROM (
			SELECT 
                productid
			FROM 
                orderdetails
			ORDER BY 
                quantity
			LIMIT 
                1
		) t
	);

10-205 在顾客表中查询顾客编号,公司名称和所在城市这三项内容

分数 3

全屏浏览题目

切换布局

作者 刘冬霞

单位 山东理工大学

在顾客表中查询顾客编号,公司名称和所在城市这三项内容

表结构:

顾客(顾客编号 文本型,公司名称 文本型,公司地址 文本型,城市 文本型,电话 文本型)

表样例

顾客表:

顾客编号公司名称公司地址城市电话
J101艺博教育有限公司历下区文化东路99号济南053188624557
J102捷成外贸公司市中区英雄山路88号济南053161523309
Q113欣兴旺商贸公司黄岛区东岳中路100号青岛053231056477
Q114安安美化妆品公司市南区延安一路190号青岛053260145583
B010一胜电子设备公司滨城区渤海五路35号滨州05438864533
B011诺顿网络安全公司滨城区黄河十路10号滨州05436213399
Z003丰辉食品公司张店区新村西路92号淄博05332787099

输出样例:

顾客编号公司名称城市
J101艺博教育有限公司济南
J102捷成外贸公司济南
Q113欣兴旺商贸公司青岛
Q114安安美化妆品公司青岛
B010一胜电子设备公司滨州
B011诺顿网络安全公司滨州
Z003丰辉食品公司淄博
select 顾客编号,公司名称,城市 from 顾客 where 顾客编号 = 'J101'
union
select 顾客编号,公司名称,城市 from 顾客 where 顾客编号 = 'J102'
union
select 顾客编号,公司名称,城市 from 顾客 where 顾客编号 = 'Q113'
union
select 顾客编号,公司名称,城市 from 顾客 where 顾客编号 = 'Q114'
union
select 顾客编号,公司名称,城市 from 顾客 where 顾客编号 = 'B010'
union
select 顾客编号,公司名称,城市 from 顾客 where 顾客编号 = 'B011'
union
select 顾客编号,公司名称,城市 from 顾客 where 顾客编号 = 'Z003'
;

10-227 查询各专业的学生人数

分数 10

全屏浏览题目

切换布局

作者 张庆

单位 集美大学

本题目要求编写SQL语句,
查询各专业的学生人数(注:有的专业尚没有学生,人数计为0)

表结构:

请在这里写定义表结构的SQL语句。例如:

CREATE TABLE `major` (
  `mno` char(2) NOT NULL,
  `mname` varchar(20) NOT NULL,
  PRIMARY KEY (`mno`)
);
CREATE TABLE `stu` (
  `sno` char(4) NOT NULL,
  `sname` char(8) NOT NULL,
  `sex` tinyint(1) DEFAULT NULL,
  `mno` char(2) DEFAULT NULL,
  `birdate` datetime DEFAULT NULL,
  `memo` text,
  PRIMARY KEY (`sno`),
  KEY `fk_stu_mno` (`mno`),
  CONSTRAINT `fk_stu_mno` FOREIGN KEY (`mno`) REFERENCES `major` (`mno`)
)

表样例

请在这里给出上述表结构对应的表样例。例如

stu表:

major表:

输出样例:

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

SELECT
    t.mno 专业号,t.mname 专业,count(t.sno) 人数
FROM
    (SELECT
        m.*,s.sno
    FROM
        stu s
    right  JOIN
    major m
 ON
  m.mno = s.mno) t
GROUP BY
 t.mno

10-228 统计每个专业的男生与女生人数

分数 10

全屏浏览题目

切换布局

作者 张庆

单位 集美大学

本题目要求编写SQL语句,统计每个专业的男生与女生人数。

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

表结构:

请在这里写定义表结构的SQL语句。例如:

CREATE TABLE `major` (
  `mno` char(2) NOT NULL,
  `mname` varchar(20) NOT NULL,
  PRIMARY KEY (`mno`)
);
CREATE TABLE `stu` (
  `sno` char(4) NOT NULL,
  `sname` char(8) NOT NULL,
  `sex` tinyint(1) DEFAULT NULL,
  `mno` char(2) DEFAULT NULL,
  `birdate` datetime DEFAULT NULL,
  `memo` text,
  PRIMARY KEY (`sno`),
  KEY `fk_stu_mno` (`mno`),
  CONSTRAINT `fk_stu_mno` FOREIGN KEY (`mno`) REFERENCES `major` (`mno`)
)

表样例

请在这里给出上述表结构对应的表样例。例如

stu表:

major表:

输出样例:

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

SELECT 
    stu.mno as 专业号 ,major.mname as 专业名,case sex when '1' then '男' else '女' end as 性别,count(*) as 人数
FROM 
    stu,major
WHERE 
    stu.mno=major.mno
GROUP BY 
    stu.mno,sex


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