SQL SEVER等值与非等值连接查询 ◇查询选择了所选课程中含有学分大于3分的课程的学生的基本信息。 ◇查询课程成绩含有未及格(<60分)的课程信息。 ◇查询每个学生的学号、姓名,以及选修的课号、课名及成绩。
时间: 2024-02-16 21:00:23 浏览: 81
好的,以下是三个SQL查询语句:
1. 查询选择了所选课程中含有学分大于3分的课程的学生的基本信息。
```
SELECT Student.Sno, Student.Sname, Student.Ssex, Student.Sage, Student.Sdept
FROM Student, SC, Course
WHERE Student.Sno = SC.Sno AND SC.Cno = Course.Cno AND Course.Credit > 3;
```
2. 查询课程成绩含有未及格(<60分)的课程信息。
```
SELECT *
FROM SC
WHERE Grade < 60;
```
3. 查询每个学生的学号、姓名,以及选修的课号、课名及成绩。
```
SELECT Student.Sno, Student.Sname, Course.Cno, Course.Cname, SC.Grade
FROM Student, SC, Course
WHERE Student.Sno = SC.Sno AND SC.Cno = Course.Cno;
```
希望能够帮助到你!
相关问题
sqlsever语句实现每个老师只能查询他所讲授的课程的选课信息
在SQL Server中,你可以通过创建视图(View)或者直接编写查询来限制某个用户只能查看他们所讲授的课程的选课信息。这里我们假设有两个表:`Teachers` (存储教师信息) 和 `Courses` (存储课程信息),以及 `Enrollments` (存储学生选课信息)。
首先,你需要确保`Enrollments`表有一个关联教师ID(teacher_id)的字段,用于表示哪些学生选择了哪门课程,以及一个关联课程ID(course_id)的字段。
假设`Teachers`表有`teacher_id`和`teacher_name`字段,`Courses`表有`course_id`, `course_name`, 和 `teacher_id`字段(如果一个课程由多个老师讲授),而`Enrollments`表有`student_id`和`course_id`字段。
为了实现这个功能,你可以创建一个视图(View),例如:
```sql
CREATE VIEW TeacherCourses AS
SELECT Enrollments.student_id, Courses.course_name
FROM Enrollments
INNER JOIN Courses ON Enrollments.course_id = Courses.course_id
WHERE Enrollments.teacher_id = SELECT teacher_id FROM Teachers WHERE teacher_name = '当前教师姓名';
```
在这里,你需要将`'当前教师姓名'`替换为你想要查询的具体教师名字。然后当你查询这个视图时,它只会返回该教师所讲授的课程的选课信息。
sql sever查询学生总人数
好的,您可以尝试使用以下 SQL 查询语句:
```
SELECT COUNT(*) as student_count
FROM students;
```
解释一下这个查询语句:
- `students` 是指学生表的表名,您需要替换成您实际使用的表名。
- `COUNT(*)` 表示计算学生总数。
- `as student_count` 表示将计算结果重命名为 student_count。
希望这个查询语句能够帮到您!
阅读全文