SQL实践:纽约代理、订单统计与城市关联查询

需积分: 15 0 下载量 196 浏览量 更新于2024-07-07 收藏 179KB DOC 举报
本次文档是关于数据库实验操作的SQL语言练习,主要涉及两个实验部分:实验一和实验二。在实验一中,重点练习了SQL基本查询功能: 1. **纽约代理商信息**:通过`SELECT aid, aname`语句,查询住在纽约的代理商的aid值和名字,这展示了如何根据特定条件筛选数据。 2. **零件pid值检索**:利用`SELECT pid`查询订货记录中的所有零件pid值,这是对单列数据的提取。 3. **Duluth和Dallas代理商信息**:使用`WHERE city IN ('Duluth', 'Dallas')`找到住在这两个城市的代理商的所有信息,演示了逻辑运算符的应用。 4. **以"D"开头的客户信息**:通过`LIKE`操作符,`WHERE city LIKE 'D%'`查找居住地名以“D”开头的客户信息,展示通配符在查询中的使用。 5. **最大折扣率查询**:通过`SELECT MAX(discnt)`获取所有客户的最高折扣率,学习如何计算聚合函数。 6. **订单总金额计算**:`SELECT SUM(dollars)`统计所有订货交易的总金额,展示了对数值的汇总。 7. **产品p01订购总量**:`WHERE pid = 'p01'`限制结果集并使用`SUM(qty)`计算该产品的订购总量。 8. **城市数量统计**:`GROUP BY city`结合`COUNT(city)`计算有顾客居住的城市数目,展示了分组和计数的用法。 实验二则进一步深入到数据的查询和更新操作: 1. **三元组查询与更新**: - (a) 通过`agents`, `customers`, 和 `products` 表的连接,找出所有三者城市相同的记录。 - (b) 查询不在同一城市的情况,用`OR`操作符排除相同城市的情况。 - (c) 求在同一城市的代理商aid对,可能需要使用自连接技术。 2. **同时订购p01和p07的客户**:通过`IN`操作符找出同时购买p01和p07产品的客户cid值。若要查询客户名称,应包括`customers.cid, customers.cname`在`SELECT`语句中。 这些SQL语句展示了基础和进阶的SQL查询技巧,包括过滤、聚合、连接和条件运算,对于数据库管理和数据分析有着实际操作意义。熟练掌握这些操作有助于提升在实际项目中的数据库管理能力。