当前位置:文档之家› 数据库SQL语句练习题含答案

数据库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_AddressFROM Studio WHERE name = 'MGM';( b) 找出桑德拉·布洛克( Sandra Bullock ) 的出生日期( birthdate) 。

SELECT birthdate AS Star_BirthdateFROM MovieStar WHERE name = 'Sandra Bullock';* ( c) 找出在1980 年拍摄过电影的所有影星, 或者拍摄过电影名中含有“Love”的电影的所有影星。

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

SELECT name AS Exec_NameFROM MovieExec WHERE netWorth >= 10000000;( e) 找出所有的男影星或者是住址中含有Malibu 的影星。

SELECT name AS Star_Name FROM movieStarWHERE 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 PCWHERE 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 )给出每艘舰艇在每次战役中的result ( 结果: 沉没、损坏或完好)写出下列查询, 并根据练习4. 1. 3 中的数据给出查询的结果:( a) 列出至少拥有十门火炮( numGuns )的所有舰艇等级( class )的名称( name )和所属国家( country) 。

SELECT class, country FROM Classes WHERE numGuns >= 10 ;( b) 找出所有在1918 年以前下水的舰艇的name, 而结果的名称用shipName 来表示。

SELECT name AS shipName FROM Ships WHERE launched < 1918; ( c) 找出所有在作战中沉没的舰艇的name, 同时给出使它们沉没的bat tle( 战役名) 。

SELECT ship AS shipName, battle FROM OutcomesWHERE result = 'sunk';( d) 找出所有name 和class 同名的舰艇。

SELECT name AS shipName FROM Ships WHERE name = class;( e) 找出name 以字母R 开头的所有舰艇的名称。

SELECT name AS shipName FROM Ships WHERE name LIKE 'R%';! ( f ) 找出舰名中包含三个或三个以上单词( 如King George V) 的所有舰艇的名称。

SELECT name AS shipName FROM ShipsWHERE name LIKE '_% _% _%' ;练习5. 2. 1: 使用我们不断滚动的电影实例的数据库模式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) 电影“Terms of Endearment”中的男影星都有谁?SELECT AS starName FROM MovieStar M, StarsIn SWHERE = S.starName AND S.movieTitle = 'Terms of Endearment' AND M.gender = 'M';( b) 哪些影星出现在米高梅公司(MGM) 于1995 年制作的电影中? SELECT S.starName FROM Movies M , StarsIn S, Studios TWHERE ='MGM' AND M.year = 1995AND M.title = S.movieTitle AND M.studioName = ;( c) 谁是米高梅制片公司的总裁?SELECT AS presidentName FROM MovieExec X, Studio T WHERE X.cert# = T.presC# AND = 'MGM';* ! ( d) 哪些电影比《乱世佳人》(Gong With the Wind) 更长?SELECT M1.title FROM Movies M1, Movies M2WHERE M1.length > M2.length AND M2.title ='Gone With the Wind' ;! ( e) 哪些行政长官比Merv Griffin 更富有?SELECT AS execName FROM MovieExec X1, MovieExec X2 WHERE Worth > Worth AND = 'Merv Griffin' ;练习5. 2. 2: 基于练习4. 1. 1 中的数据库模式Product (maker , model, type)PC ( model, speed, ram, hd, cd, pr ice)Laptop (model, speed, ram, hd, screen, price)Printer (model, color , type, price)写出下列查询:* ( a) 给出配置了容量至少为1G 字节的硬盘( h d)的便携式电脑( laptop)的生产厂商(maker ) 及其速度( speed) 。

相关主题