sql sever中学生选课库有student表包含sno(学生学号)、sname、ssex、sage、sdept(学生专业),sc表(学生选课表)中包含sno、cno(课程号)、grade,course表(课程表)包含cno、cname(课程名称)、cpno(课程号)、ccredit用SQL语句查询最低分大于70,最高分小于90的学生的学号;
时间: 2023-06-04 13:07:16 浏览: 143
请问您是想查询学生选课表中最低分大于70,最高分小于90的学生的学号吗?
如果是的话,您可以使用以下SQL语句进行查询:
SELECT sc.sno
FROM sc
WHERE sc.grade > 70 AND sc.grade < 90
GROUP BY sc.sno
HAVING MIN(sc.grade) > 70 AND MAX(sc.grade) < 90;
这个查询语句会首先筛选出成绩在70到90之间的选课记录,并按照学生学号进行分组。然后,通过使用HAVING子句,我们就可以筛选出最低分大于70且最高分小于90的学生的学号了。
相关问题
在SQLsever中建立学生表student(xh,xm,nl)
在 SQL Server 中,你可以使用以下代码创建一个名为 student 的学生表,它包含三个列:xh(学号)、xm(姓名)和 nl(年龄)。
```
CREATE TABLE student(
xh INT PRIMARY KEY,
xm VARCHAR(50),
nl INT
);
```
其中,`INT` 表示整数类型,`VARCHAR(50)` 表示最大长度为 50 的可变字符类型。`PRIMARY KEY` 表示 xh 列是主键。
sql sever创建100条学生表
在SQL Server中创建一个包含100条记录的学生表,你可以首先定义表结构,然后使用`INSERT INTO`语句插入数据。这里是一个简单的例子:
```sql
CREATE TABLE Students (
ID INT PRIMARY KEY,
Name VARCHAR(50),
Age INT,
Gender CHAR(1),
Course VARCHAR(50)
);
-- 创建100条初始数据示例(这里仅展示前几行,实际操作需要循环)
INSERT INTO Students (ID, Name, Age, Gender, Course)
VALUES
(1, '张三', 18, 'M', '计算机科学'),
(2, '李四', 19, 'F', '软件工程'),
(3, '王五', 20, 'M', '数据库管理'),
... (重复97次同样的结构)
-- 如果你需要生成随机数据,可以使用T-SQL的系统函数如RAND()配合动态SQL
WITH Numbers AS (
SELECT TOP 100 ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS RowNum
)
INSERT INTO Students (ID, Name, Age, Gender, Course)
SELECT RowNum + 1, CONCAT('Student', RowNum), FLOOR(RAND() * 20) + 18, 'M' WHERE RAND() < 0.5
UNION ALL
SELECT RowNum + 1, CONCAT('Student', RowNum), FLOOR(RAND() * 20) + 18, 'F' WHERE RAND() >= 0.5
--
阅读全文