SQL语句练习操作

2022-07-28 16:56:17   文档大全网     [ 字体: ] [ 阅读: ]

#文档大全网# 导语】以下是®文档大全网的小编为您整理的《SQL语句练习操作》,欢迎阅读!
语句,练习,操作,SQL
实验一 SQL语言的使用

相关知识

SQL语言由4部分组成:数据定义语言DDL数据操纵语言DML数据控制语言DCL和其他,其功能如下: 1数据定义语言DDL主要用于定义数据库的逻辑结构,包括定义数据库、基本表、视图和索引等,扩展的DDL还包括存储过程、函数、对象、触发器等的定义。

2数据操纵语言DML主要用于对数据库中的数据进行检索和更新两大类操作,中更新操作包括插入、删除和更新数据。

3数据控制语言DCL主要用于对数据库中的对象进行授权、用户维护(包括创建、修改和删除)、完整性规则定义和事务定义等。 4)其他:主要是嵌入式SQL语言和动态SQL语言的定义,规定了SQL语言在宿主语言中使用的规则。扩展的SQL还包括数据库数据的重新组织、备份和回复等。

数据操纵语言练习 2.1 订单管理数据库

订单管理数据库由5张表组成,分别为员工表、客户表、商品表、订单主表和订单明细表。

员工表中记录当前销售公司所有的员工详细信息,客户表中记录与当前销售公司有业务往来的客户单位信息商品表中记录当前销售公司可销售的商品,客户每次的购买活动形成一条订单记录,并指定一名销售公司员工对其进行负责,一个订单可能同时购买多种商品,所以订单主表中只记录以订单为单位的相关信息,而订单明细中再记录具体商品的销售况。

2.2 实验内容

2.2.1 查询操作

2.2.1.1 单表查询

1)查询全部职工的基本信息

2)查询所有职工的部门、职工号、姓名和薪水

3)查询全体职工的姓名、年龄、所属部门,并用汉语显示表头信息

4)查询1973年出生且为职员的员工信息

5)查询业务科或财务科的职工姓名、性别和所在部门,仅显示前面5位职工 6)查询薪水为20004000的职工编号、姓名、所在部门和薪水 7)查询薪水在3000~4000的职工姓名和薪水 8)查询薪水不在3000~4000的职工姓名和薪水 9)查询所有姓张的职工姓名、所属部门和性别 10)查询所有姓张且全名为三个汉字的职工姓名

11)查询既不在业务科也不在财务科的职工姓名、性别和所在部门

12)查询1991年被雇佣的职工号、姓名、性别、电话号码、出生日期以及年龄 13)查询6月出生的员工编码、姓名、出生日期,并按出生日期的降序输出 14)查询职工工资最高的前10%的职工编号、职工姓名和工资


15)查询每个业务员的订单数量

16)统计在业务科工作且在1973年或1967年出生的员工人数和平均工资 17)统计每种商品的销售数量和金额,并按销售金额的升序排序输出

18查询订单中至少包含3(含3种)以上商品的订单编号及订购次数,且订购的商品数量在3件(含3件)以上。

2.2.1.2 简单表链接

1)查询住址在上海的员工所做的订单,结果输出员工编号、姓名、订单编号、客户编号和订单日期,并按客户编号排序输出。

2)查找订购了“32M DRAM”的商品的客户编号、客户名称、订单编号、订货数量和订货金额,并按客户编号排序输出。

3)查询与“张晓梅”在同一部门工作的员工姓名、所属部门、性别和出生日期,并按所属部门排序输出

4)查询1973年出生的员工所订购产品的订单,输出结果位员工编号、姓名、所属部门、订单编号、客户名称、订单日期,按员工编号排序输出。

5)统计订单中每个商品具有销售数量大于4的订单的订单个数,要求显示商品编号、商品名称、订单数(提示:外连接)

附加:先分析结果,再运行查看分析是否正确

Select a.productNo,productName,quantity,price

From OrderDetail AS a LEFT JOIN Product AS b ON (a.productNo=b.ProductNo) AND quantity>4

Order By a.productNo

LEFT JOIN 换成 RIGHT JOIN FULL JOIN

6查询每个客户订购商品的具体订单信息输出结果为客户编号、客户名称、商品编号、商品名称、数量、单价和金额

7)查询“52倍速光驱”的销售情况,要求显示相应的销售员的姓名、性别、销售日期、销售数量和金额。

2.2.1.3 简单嵌套查询

1)查询员工“张小娟”所做的订单信息

2)查询没有订购商品的且在北京地区的客户编号、客户名称和邮政编码,并按邮政编码降序排序

3)查询订购了“32M DRAM”商品的订单编号、订货数量和订货单价

4)查询与员工编号E2008005在同一部门的员工编号、姓名、性别、所属部门

5)查询即订购了P20050001商品,又订购了P20070002商品的客户编号、订单编号和订单金额。

6)查询没有订购“52倍速光驱”或“17寸显示器”的客户编号、客户名称。 2.2.1.4 复杂嵌套查询

1)查找至少有2销售记录的业务员名单和销售日期 2)查找销售金额最大的客户名称和总订单金额

3)查找销售总额少于5000元的销售员编号、姓名和销售

4)查找至少订购了3种商品的客户编号、客户名称、商品编号、商品名称、数量和金额 5)查找同时订购了商品编号为“P20070002”和商品编号为“20070001”的商品的客户编号、客户姓名、商品编号、商品名称和销售数量,按客户编号排序输出 2.2.1.5 存在量词运算

1)查询订购了“键盘”商品的客户姓名、订货数量和订货日期


2)查询没有订购“键盘”商品的客户名称

3)查询至少销售5种商品的销售员编号、姓名、商品名称、数量及相应的单价,并按销售员编号排序输出

4)查询没有订购商品的客户编号和客户名称 5)查询订购了所有已列商品的客户名称

6)查询至少包含了“世界技术开发公司”所订购的商品的客户编号、客户名称、商品编号、商品名称、数量和金额。

2.2.2 更新操作

1)分别给5张表增加元组信息,具体信息任意

2)将发票号码为I000000001的订单从数据库中删除,同时删除具体订货信息 3)将上海的客户住址全部改为深圳

4)将工作5周年的员工薪水上调5%工作10周年的员工薪水上调8% 5)将客户c2009000120081月购买的所有商品单价打9 6)根据订单明细表,修改订单主表的订单金额信息

数据定义语言及视图练习 3.1数据库

教材第二章第5

3.2实验内容

1)定义数据库

2)定义表,并声明主键和外键

3)在供应商表中按照所在城市建立一个非聚集索引

4)修改供应商表中供应商状态Status属性为vChar6)类型

5)为三建工程项目建立一个供应情况的视图,包括供应商名、零件名和零件数量。并针对该视图完成以下操作

①显示使用的各种零件名及零件数量 ②显示供应商精益的供应数量

③更改供应商精益的供应零件从“螺母”改为“齿轮” ④删除供应商丰盛泰的对齿轮的供应 ⑤修改视图增加对供应项目名的显示

⑥增加供应商丰盛泰对造船厂项目的螺母供应量为700

6)用SQL语句重新定义第二部分的订单表:订单编号的构成:年月日流水号共12位,200708090001;订单编号、客户编号、员工编号、发票号码设为NOT NULL;业务员必须是员工;订货日期和出货日期的默认值(DEFAULT)为系统当前日期;订单金额默认值0,;发票号码建立UNIQUE约束


本文来源:https://www.wddqxz.cn/5ef89700677d27284b73f242336c1eb91a3733cd.html

相关推荐