数据库实验SELECT语句的使用

更新时间:2024-04-16 07:58:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

南京信息工程大学 实验(实习)报告

实验名称数据库实验(三)实验日期11月11日 得分指导教师 顾韵华 院 计算机与软件学院 专业 计算机科学与技术 年级 2012 班次 3 姓名宗仰学号 20121308097

1.实验目的:

1.学习SELECT语句结构

2.学习GROUP BY子句、HAVING子句、ORDER BY子句的用法 3.灵活运用连接查询、嵌套查询和集合查询 2.实验内容:

完成以下题目:

说明: 1~10必须至少用连接谓词或JOIN子句表达;11~20必须至少用子查询表示

1、查询订购了商品、所在省市为“江苏南京”的客户编号、客户姓名及其全部订单信息。 2、查询订购了商品、所在省市为“江苏南京”的客户编号、客户姓名及其订购“食品”类订单信息。

3、查询在“2013-2-16”以后订购了商品的客户编号、客户姓名以及订单信息。

4、查询在“2013-2-16”以后订购了“食品”类商品的客户编号、客户姓名及其订单信息。 5、查询订购了单价在50元以上(含)、并且订购数量在2个以上(含)的客户编号、客户姓名及其订购商品信息。

6、查询订购了同一编号的商品超过一次的客户编号、客户姓名及其相应商品编号。 7、查询22岁以下的客户编号、客户姓名及其订单信息。 8、统计各个女客户的客户姓名及其订单数量。 9、统计姓“张”的客户姓名及其订单数量。

10、统计订购的食品类订单数量在2个及其以上的客户姓名及其食品类订单数量。 11、查询所在省市为“江苏南京”的客户的订单信息。

12、查询订购了“新新文化用品制造厂”产品的客户编号、客户姓名和相应订单信息。 13、查询订购了张小林订购过的商品的客户编号和客户姓名。 14、查询订购了库存量在50及以上的商品的客户编号和客户姓名。 15、查询订购数量比张小林所有订单数量都小的订单信息。 16、查询年龄小于所有客户平均年龄的客户的订单信息。 17、查询库存量超过平均库存量的商品信息。

18、查询订购了商品名称中包含“球”的订单信息。 19、查询订购了食品类商品的客户编号和客户姓名。 20、查询具有相同出生日期的客户信息。

3.实验步骤

1、查询订购了商品、所在省市为“江苏南京”的客户编号、客户姓名及其全部订单信息。

SELECTKHB.*,SPDGB.*

FROMKHBINNERJOINSPDGBONKHB.客户编号=SPDGB.客户编号

WHERE所在省市='江苏南京'

2、查询订购了商品、所在省市为“江苏南京”的客户编号、客户姓名及其订购“食品”类

订单信息。

SELECTKHB.*,SPDGB.*,SPB.商品类别

FROMKHBJOINSPDGBJOINSPBONSPDGB.商品编号=SPB.商品编号 ONSPDGB.客户编号=KHB.客户编号

WHERE所在省市='江苏南京'ANDSPB.商品类别='食品'

3、查询在“2013-2-16”以后订购了商品的客户编号、客户姓名以及订单信息。

SELECTKHB.*,SPDGB.*

FROMKHBINNERJOINSPDGBONKHB.客户编号=SPDGB.客户编号 WHERE需要日期>'2009-2-16'

GO

4、查询在“2013-2-16”以后订购了“食品”类商品的客户编号、客户姓名及其订单信息。

SELECTKHB.*,SPDGB.*,SPB.商品类别

FROMKHBJOINSPDGBJOINSPBONSPDGB.商品编号=SPB.商品编号 ONSPDGB.客户编号=KHB.客户编号

WHERE需要日期>'2009-2-16'ANDSPB.商品类别='食品'

5、查询订购了单价在50元以上(含)、并且订购数量在2个以上(含)的客户编号、客户姓名及其订购商品信息。

SELECTKHB.*,SPDGB.*,SPB.单价

FROMKHBJOINSPDGBJOINSPBONSPDGB.商品编号=SPB.商品编号 ONSPDGB.客户编号=KHB.客户编号

WHERE单价>=50 AND数量>=2

6、查询订购了同一编号的商品超过一次的客户编号、客户姓名及其相应商品编号。

SELECTKHB.客户编号,KHB.客户姓名,SPDGB.商品编号 FROMKHB,SPDGB

WHEREKHB.客户编号=SPDGB.客户编号

GROUPBYKHB.客户编号,客户姓名,SPDGB.商品编号

HAVINGCOUNT(*)>1

7、查询22岁以下的客户编号、客户姓名及其订单信息。

SELECTKHB.客户编号,KHB.客户姓名,SPDGB.* FROMKHB,SPDGB

WHEREKHB.客户编号=SPDGB.客户编号ANDYEAR(GETDATE())-YEAR(KHB.出生日期)<=22

8、统计各个女客户的客户姓名及其订单数量。

SELECTKHB.客户姓名,COUNT(*)AS'订单数量' FROMKHBJOINSPDGBONKHB.客户编号=SPDGB.客户编号 WHEREKHB.性别='女'

GROUPBYKHB.客户姓名,KHB.客户编号

9、统计姓“张”的客户姓名及其订单数量。

SELECT客户姓名,COUNT(*)AS'订单数量'

FROMKHBJOIN LIKESPDGBONKHB.客户编号=SPDGB.客户编号 WHERE客户姓名 LIKE'张%'

GROUPBY客户姓名

10、统计订购的食品类订单数量在2个及其以上的客户姓名及其食品类订单数量。

11、查询所在省市为“江苏南京”的客户的订单信息。

SELECT* FROMSPDGB WHERE客户编号IN (

SELECT客户编号 FROMKHB

WHERE所在省市='江苏南京' )

12、查询订购了“新新文化用品制造厂”产品的客户编号、客户姓名和相应订单信息。

SELECTa.客户编号,客户姓名,b.* FROMKHBa,SPDGBb

WHEREa.客户编号=b.客户编号ANDb.商品编号IN (

SELECT商品编号 FROMSPB

WHERE生产商='新新文化用品制造厂' )

13、查询订购了张小林订购过的商品的客户编号和客户姓名。

SELECTa.客户编号,客户姓名 FROMKHBa,SPDGB

WHEREa.客户编号=SPDGB.客户编号AND SPDGB.商品编号IN (

SELECTSPDGB.商品编号 FROMSPDGB,KHBb

WHERESPDGB.客户编号=b.客户编号AND客户姓名='张小林'

ANDa.客户编号<>b.客户编号 )

14、查询订购了库存量在50及以上的商品的客户编号和客户姓名。

SELECTDISTINCTa.客户编号,a.客户姓名 FROMKHBa,SPDGBb

WHEREa.客户编号=b.客户编号ANDb.商品编号IN (

SELECTb.商品编号 FROMSPBc,SPDGBb

WHEREc.商品编号=b.商品编号AND库存量>='50' )

15、查询订购数量比张小林所有订单数量都小的订单信息。

SELECT* FROMSPDGB WHERE数量< (

SELECTSUM(数量) FROMSPDGB,KHB

WHERESPDGB.客户编号=KHB.客户编号AND客户姓名='张小林' )

16、查询年龄小于所有客户平均年龄的客户的订单信息。 SELECT * FROM SPDGB

WHERE `客户编号` IN ( SELECT `客户编号` FROM khb WHERE ROUND( YEAR( NOW() )-YEAR(`出生日期`) ) <( SELECT ROUND( AVG (YEAR( NOW() )-YEAR(`出生日期`)) ) FROM khb) )

17、查询库存量超过平均库存量的商品信息。 SELECT *

本文来源:https://www.bwwdw.com/article/964p.html

Top