查询Cno,Cname,总学分(50)与课程学分差,显示课程号,课程名,分差
时间: 2024-06-06 08:07:27 浏览: 20
这个查询需要使用课程表和成绩表,需要通过联表查询来实现。
SQL语句如下:
SELECT c.Cno, c.Cname, 50 - SUM(s.Credit) AS Credit_Difference
FROM Course c
JOIN Score s ON c.Cno = s.Cno
GROUP BY c.Cno, c.Cname
HAVING Credit_Difference <> 0;
解释:首先通过JOIN语句将课程表和成绩表联合起来,然后使用SUM函数计算每个课程的总学分,并用50减去该课程的总学分,得到分差。最后使用GROUP BY语句将结果按照课程号和课程名进行分组,并使用HAVING语句筛选出分差不为0的结果。
相关问题
创建Course表结构和约束 列 名 称 类 型 宽度 允许空值 默认值 约 束 主键 说明 Cno Char 3 否 是 课程号 Cname Varchar 20 否 课程名称 Total_perior Smallint 是 大于0 总学时 Credit Tinyint 是 大于0,小于等于6 学分
以下是创建名为 Course 的表格的 SQL 语句,其包含上述的列名、类型、宽度、允许空值、默认值、约束和说明:
```
CREATE TABLE Course (
Cno CHAR(3) NOT NULL,
Cname VARCHAR(20) NOT NULL,
Total_perior SMALLINT,
Credit TINYINT CHECK (Credit > 0 AND Credit <= 6),
PRIMARY KEY (Cno)
);
```
在此表中,Cno 列被指定为主键,这意味着每个课程的课程号必须是唯一的。Cname 列被指定为 NOT NULL,这意味着它必须包含值。Total_perior 和 Credit 列被指定为可选,但 Credit 列还包含一个 CHECK 约束,该约束确保该列的值大于0且小于等于6。
创建Course1表 属性:Cno(课程号) Cname(课程名) Cpno(先修课号) Ccredit(学分) course 的约束: 主码:cno Ccredit 取值范围[ 1-6 ] Course表的外码Cpno ,参照表Course1的Cno
可以使用以下 SQL 语句在关系型数据库中创建 Course1 表:
```sql
CREATE TABLE Course1 (
Cno CHAR(10) PRIMARY KEY,
Cname VARCHAR(50) NOT NULL,
Cpno CHAR(10),
Ccredit INT CHECK (Ccredit BETWEEN 1 AND 6),
FOREIGN KEY (Cpno) REFERENCES Course1(Cno)
);
```
上述 SQL 语句中,使用 `CREATE TABLE` 创建了一个名为 Course1 的表。其中:
- `Cno` 属性使用 `CHAR(10)` 类型,表示课程号,是主码。
- `Cname` 属性使用 `VARCHAR(50)` 类型,表示课程名,不能为空。
- `Cpno` 属性使用 `CHAR(10)` 类型,表示先修课号,可以为空。
- `Ccredit` 属性使用 `INT` 类型,表示学分,取值范围为 [1,6]。
- 使用 `CHECK` 约束对 `Ccredit` 进行取值范围限制。
- 使用 `FOREIGN KEY` 约束将 `Cpno` 作为外码,参照表为 Course1 的 `Cno`。这样就实现了 Cpno 先修于 Cno 的约束。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.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)