查询选修了“JAVA”课程和“数据库原理”的学生姓名 select sname from student 是,sc
时间: 2023-10-03 21:08:14 浏览: 54
好的,针对您的问题,可以使用以下 SQL 语句来查询选修了“JAVA”课程和“数据库原理”的学生姓名:
```sql
SELECT s.name AS sname
FROM student s
INNER JOIN student_course sc ON s.student_id = sc.student_id
INNER JOIN course c ON sc.course_id = c.course_id
WHERE c.course_name IN ('JAVA', '数据库原理')
GROUP BY s.student_id
HAVING COUNT(DISTINCT c.course_id) = 2;
```
其中,需要根据您的数据表结构进行相应的调整。这条 SQL 语句的大致思路是:通过多表连接,筛选出选修了“JAVA”课程和“数据库原理”的学生,并将学生姓名查询出来。使用`IN`关键字来指定多个课程名,使用`GROUP BY`和`HAVING`来筛选同时选修了两门课程的学生。结果会返回一个名为`sname`的列,其中包含了所有选修了“JAVA”课程和“数据库原理”的学生姓名。
相关问题
查询选修了“JAVA”课程的学生姓名 select sname from student s,sc,course c where
好的,针对您的问题,可以使用以下 SQL 语句来查询选修了“JAVA”课程的学生姓名:
```sql
SELECT s.name AS sname
FROM student s
INNER JOIN student_course sc ON s.student_id = sc.student_id
INNER JOIN course c ON sc.course_id = c.course_id
WHERE c.course_name = 'JAVA';
```
其中,需要根据您的数据表结构进行相应的调整。这条 SQL 语句的大致思路是:通过多表连接,筛选出选修了“JAVA”课程的学生,并将学生姓名查询出来。结果会返回一个名为`sname`的列,其中包含了所有选修了“JAVA”课程的学生姓名。
查询选修了“数据库原理与应用”课程的学生姓名。
以下是查询选修了“数据库原理与应用”课程的学生姓名的SQL语句:
```
SELECT s.sname AS '姓名'
FROM student AS s, student_course AS sc, course_class AS cc, course AS c
WHERE s.sno = sc.sno AND sc.ccno = cc.ccno AND cc.cno = c.cno AND c.cname = '数据库原理与应用'
```