SQL查询与数据库设计实战:课程选课人数与商品订单统计
在本次数据库复习资料中,我们主要关注了SQL语句的应用,特别是涉及到多张关联表的操作。首先,针对一个学生选课系统的数据库,有三个核心表:学生表、课程表和选课表。学生表包含了学号、姓名、性别和出生日期等信息,而课程表则记录了课号、课程名、学分等内容。选课表则是连接学生和课程的桥梁,通过学号和课号来记录学生的选课情况以及成绩。 问题1要求查询每门课的选课人数,即使没有被选修也要显示。通过使用LEFT OUTER JOIN关键字,我们可以确保所有课程都出现在结果中,同时对课程表进行GROUP BY操作,按照课程名进行分组,并使用COUNT函数计算每个课程的选课人数。SQL语句如下: ```sql SELECT 课程.课号, 课程名, COUNT(学号) as 人数 FROM 课程 LEFT OUTER JOIN 选课 ON 选课.课号 = 课程.课号 GROUP BY 课程.课号, 课程名, 课程.课号 AS 人数; ``` 接着,另一个场景涉及到了商品销售相关的数据库,包括商品表、订单表、订单详情表和顾客表。商品表包含商品编号、名称、单价和库存数量等信息;顾客表记录了顾客编号和姓名;订单表用于存储订单编号和可能的关联信息;订单详情表则链接订单和商品,提供更详细的购买记录。在这个复杂的关系中,如果需要创建一个数据库来管理这些数据,我们需要定义相应的表结构,并可能执行SQL命令来初始化数据库,如: ```sql CREATE DATABASE ShoppingCart; USE ShoppingCart; CREATE TABLE Customers ( CustomerID char(5) PRIMARY KEY, CustomerName varchar(50) ); CREATE TABLE Products ( ProductID char(5) PRIMARY KEY, ProductName varchar(50), Price money, StockQuantity int ); CREATE TABLE Orders ( OrderID char(10) PRIMARY KEY, OrderDate datetime ); CREATE TABLE OrderDetails ( OrderID char(10), ProductID char(5), Quantity int, FOREIGN KEY (OrderID) REFERENCES Orders(OrderID), FOREIGN KEY (ProductID) REFERENCES Products(ProductID) ); ``` 这里创建了一个名为"ShoppingCart"的数据库,并定义了各个表及其字段,以支持商品销售、顾客管理和订单管理的功能。通过这些表之间的外键约束,可以轻松跟踪订单详情,包括购买的商品数量和总价。 这两个例子展示了SQL语言在处理不同场景下的数据查询和数据库设计中的重要性,涵盖了左连接查询、聚合函数(COUNT)以及数据库结构的创建与设计。理解并熟练运用这些概念,对于数据库管理员和开发人员来说是至关重要的技能。
![](https://csdnimg.cn/release/download_crawler_static/87278331/bg9.jpg)
![](https://csdnimg.cn/release/download_crawler_static/87278331/bga.jpg)
![](https://csdnimg.cn/release/download_crawler_static/87278331/bgb.jpg)
剩余50页未读,继续阅读
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)