SQL练习:计算降价后PC价格与差价

需积分: 0 4 下载量 87 浏览量 更新于2024-07-12 收藏 2.67MB PPT 举报
"这篇资料是关于数据库系统概论的学习材料,包含了SQL语句的练习,特别是广义投影的运用。示例中展示了如何查询降价后PC的价格和价格差价,并提供了数据库模式的四个关系,包括PC、Laptop、Printer和Product。此外,还介绍了SQL语句的无数据源检索,例如展示常量和全局变量的方法。" 在数据库系统中,广义投影(Generalized Projection)是指在关系代数中,不仅可以选择关系中的属性列,还可以包含算术运算和其他表达式。在这个例子中,我们看到一个针对PC表的查询,目的是找出降价10%后PC的新价格以及原价与新价的差价。这是通过在投影操作中直接应用算术运算实现的。 SQL语句如下: ```sql select PC.model, PC.price, PC.price*0.9 as newprice, PC.price*0.1 as dprice from PC ``` 这个查询选择了PC表中的`model`和`price`字段,同时计算了新的价格(`newprice`,即原价的90%)和价格差价(`dprice`,即原价的10%)。这里的`as`关键字用于重命名列名,使得结果更易于理解。 在数据库模式中,有四个关系: 1. Product(maker, model, type) - 描述产品制造商、型号和类型。 2. PC(model, speed, ram, hd, cd, price) - 表示个人电脑,包括型号、速度、RAM容量、硬盘大小、光驱类型和价格。 3. Laptop(model, speed, ram, hd, screen, price) - 代表笔记本电脑,包含型号、速度、RAM、硬盘、屏幕尺寸和价格。 4. Printer(model, color, type, price) - 代表打印机,包括型号、是否彩色、类型和价格。 查询操作通常分为几个类别: - 无数据源查询:不直接从表中检索数据,而是显示常量或变量。 - 单表查询:只涉及一个表的查询。 - 复杂查询:涉及多个表,可能包括连接、子查询等。 - 增删改操作:INSERT、DELETE和UPDATE语句,用于修改数据库内容。 - SQL3递归查询:在SQL3中,可以进行递归查询,例如查找层次结构数据。 无数据源检索的例子包括: 1. 显示字符串常量:`select 'sqlserver2000'` 或 `select 'Hello! Good morning!'` 2. 查询全局变量:如查看SQL Server的版本信息 `select @@version` 或服务器使用的语言 `select @@language` 这些例子展示了SQL的灵活性,不仅可以用于从数据库中提取数据,还能进行简单的计算和信息显示。在学习数据库系统时,理解并熟练掌握这些基本操作对于数据库管理和数据分析至关重要。