数据库SQL语句练习题含答案 下载本文

SQL语句练习

练习5. 1. 2: 基于不断滚动的电影数据库的实例:

Movie( 电影名title,拍摄年代 year ,长度 length, inColor ,制片厂名 studioName, 制片人证书号producerC# )

StarsIn(电影名movieTitle,拍摄年份 movieYear ,影星名starName) MovieStar (姓名 name,地址 address,性别 gender ,生日 birthdate) MovieExec( 姓名name,地址 address ,证书号 cert # ,净资产 netWorth ) Studio(姓名 name, 地址address,总裁证书号presC# ) 请写出下列SQL 查询语句:

* ( a) 找出米高梅制片公司(MGM studios)的地址。 SELECT address AS Studio_Address FROM Studio WHERE name = 'MGM';

( b) 找出桑德拉·布洛克( Sandra Bullock ) 的出生日期( birthdate) 。 SELECT birthdate AS Star_Birthdate

FROM MovieStar WHERE name = 'Sandra Bullock';

* ( c) 找出在 1980 年拍摄过电影的所有影星, 或者拍摄过电影名中含有“Love”的电影的所有影星。 SELECT starName FROM StarsIn

WHERE movieYear = 1980 OR movieTitle LIKE '%Love%'; ( d) 找出净资产至少1 000 万美元的所有行政长官。

SELECT name AS Exec_Name

FROM MovieExec WHERE netWorth >= 10000000; ( e) 找出所有的男影星或者是住址中含有Malibu 的影星。 SELECT name AS Star_Name FROM movieStar WHERE gender = 'M' OR address LIKE '% Malibu %';

练习5. 1. 3: 用SQL 写出下列的查询。查询将引用练习4. 1. 1 中所描述的数据库模式:

Product (maker , model, t ype)

maker( 制造商) model( 型号) t ype( 类型)

PC(model, speed, ram, hd, cd, pr ice)

model( 型号) speed( 速度) ram( 内存) hd( 硬盘) cd( 光驱) pr ice( 价格)

Laptop(model, speed, ram, h d, screen, price)

model( 型号) speed( 速度) ram( 内存) hd( 硬盘) s creen( 屏幕) pr ice( 价格)

Printer (model, color , t ype, pr ice)

model( 型号) color ( 彩色) type( 类型) price( 价格)

使用练习4. 1. 1 的数据, 请写出查询的结果。

* ( a ) 找出价格低于 1 600 美元的所有个人计算机( PC) 的型号( model)、速度 ( speed) 以及硬盘容量( hd) 。

SELECT model, speed, hd FROM PC WHERE price < 1600 ;

* ( b) 同( a)的要求, 另外将“速度”( speed)改为“兆赫”(megaher t z) , 将“硬盘”( hd) 改为“吉字节”( gigabytes) 。

SELECT model , speed AS gigahertz, hd AS gigabytes FROM PC WHERE price < 1600 ;

( c) 找出打印机( Printer ) 的制造商(maker ) 。 SELECT maker FROM Product WHERE type = 'printer' ;

( d) 找出费用高于 2 000 美元的便携式电脑( laptop )的型号、内存容量( ram)以及 屏幕尺寸( screen) 。

SELECT model, ram , screen FROM Laptop WHERE price > 2000 ; ( e) 从Printer 关系中找出所有彩色打印机的元组。记住color 是布尔值的属性。

SELECT * FROM Printer WHERE color =true;

( f ) 找出具有 6 倍速或 8 倍速光驱( 6x or 8x cd)而价格低于 2 000 美元的所有个人 计算机的型号、速度以及硬盘容量。你可以把属性cd 看作是字符串类型的。

SELECT model, speed, hd FROM PC

WHERE cd=’6x’ or cd=’8x’ and price <= 2000 ; 练习5. 1. 4: 基于练习4. 1. 3 的数据库模式:

Classes ( class , type, country, numGuns, bore, displacement)

class( 等级名) 、type( 类型: bb 代表战列舰, 或bc 代表巡洋舰) 、country

( 制造舰艇的国家) 、numGuns ( 主要火炮的数量) 、bore( 主要火炮的口径: 炮管的直径, 以英寸计算) 和displacement ( 排水量: 重量, 以吨计算)

Ships (name, class , launched)

name( 舰艇名) 、class( 舰艇等级名) 和launched( 舰艇下水的年份)

Battles(name, date)

name(名字) 和date(日期)

Outcomes( ship, battle, result )