当前位置:首页 » 编程语言 » sql查询姓名和课程名
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql查询姓名和课程名

发布时间: 2023-08-16 10:38:19

数据库sql语句中 查询选修了全部课程的学生的学号和姓名 理解

楼主别着急!
为好理解我们先从这条SQL语句所要实现的功能入手。
功能:查出选修了全部课程的学信息。那么SQL在查询数据的时候的遍历每一个学生信息。判断该学生是否满足条件。
1
如果存在这么一条Course记录A(暂命名为A),
则不选择该学生。否则该学生就被查询出来
2
那么记录A,是怎么查出来的呢?A查出的条件是:不存在SC记录B,只要不存在B,就可查出A
3
那么B记录是什么?B记录是选课信息表,根据学号和课程号可查出记录B
如果B为空(该学生有没有选的课程)也就是不存在,则A就有一条记录,根据规则2可知:因为有A,所以该学生信息将不被输出。
如果在SC中每一个课程编号和该学生编号为条件都能够查出一条记录B(也就是该学生选修了全部课程),所以A记录不存在,则输出该学生的信息。
也就是在选课表中,如果学生选了全部课程(也就是满足SELECT
*
FROM
SC
WHERE
Sno=
Student.Sno
AND
Cno=
Course.Cno)始终存在,当然,课程编号是任意的)。那么就输出该学生的信息。你不要为理解这条SQL而忘记了它本身是要做什么.
带着SQL的目的(要实现的功能)去理解就好了。

❷ SQL查询出有成绩不及格的学生的学号,姓名,课程名。

select a.学号 , a.姓名 , b.课程名
from tbStudent a , tbCourse b , tbScore c
where c.成绩 < 60 and a.学号 = c.学号 and b.课程号 = c.课程号

❸ 以“registration”数据库为基础,写出完成下面查询的 SQL 语 句

1、 查询成绩大于80 分的选课情况,包括学号,课号,成绩:
SELECT Student.ID, Course.ID, GradeFROM Student, Course, RegistrationWHERE Student.ID = Registration.ID AND Course.ID = Registration.IDAND Grade > 80;

2、查询所有学生的姓名,性别,年龄:
SELECT Name, Gender, AgeFROM Student;

3、 查询姓名为“XX 宁”的学生基本信息:
SELECT *FROM StudentWHERE Name = 'XX 宁';

4、 查询学分键物为2分或5分的课程名和学分:
SELECT Name, CreditFROM CourseWHERE Credit IN (2, 5);

5、统计选修了 C03 号课程的学生人数、缺唯敏考学生人数:
SELECT COUNT(*) AS Total, SUM(CASE WHEN Grade IS NULL THEN 1 ELSE 0 END) AS AbsentFROM Student, RegistrationWHERE Student.ID = Registration.ID AND Course.ID = 'C03';

6、 查询平均成绩大于等于 70 分的学生学号和对应平均成绩:
SELECT Student.ID, AVG(Grade)FROM Student, Course, RegistrationWHERE Student.ID = Registration.ID AND Course.ID = Registration.IDGROUP BY Student.IDHAVING AVG(Grade) >= 70;

7、 查询学生的选课情况,包括姓名、课名、成绩:
SELECT Student.Name, Course.Name, GradeFROM Student, Course, RegistrationWHERE Student.ID = Registration.ID AND Course.ID = Registration.ID;

8、 查询与“工业稿山液设计”同在一个系的其他专业信息,包括专业号,专业名:
SELECT Department.ID, Department.NameFROM Department, MajorWHERE Department.ID = Major.ID AND Major.Name = '工业设计'AND Department.ID != (SELECT ID FROM Major WHERE Name = '工业设计');

❹ sql查询语句的问题,“列出成绩大于90的所有学生的姓名、专业、课程名称、成绩”这条语句怎么写

可以参考下面的代码:

select s.姓名, s.专业, sc.成绩, c.课程名称

from 学生基本情况表 s, 成绩表 sc, 课程表 c

where s.学号 = sc.学号 and c.课程编号 = sc.课程编号

and sc.成绩 > 90

(4)sql查询姓名和课程名扩展阅读:

sql语句

删除列:

Alter table table_name drop column column_name--从表中删除一列

添加主键:

Alter table tabname add primary key(col)

平均:

select avg(field1) as avgvalue from table1

最大:

select max(field1) as maxvalue from table1

❺ 怎么用SQL的查询语句列出某同学所有课程的课程名和成绩啊,并按成绩从低到高排序啊

1、打开Microsoft SQL Server 2012,选中需要查询所有表的数据库。