假设学生表为students,课程表为courses,选课表为sc,可以使用嵌套查询来查询选修了“以数据库作为先行课”的课程的学生姓名和学号。具体的SQL语句如下:
```
SELECT sid, sname
FROM students
WHERE sid IN (
SELECT sid
FROM sc
JOIN courses ON sc.cno = courses.cno
WHERE cname = '以数据库作为先行课'
);
```
上述SQL语句中,首先在子查询中将选课表和课程表进行连接,并通过WHERE子句筛选出课程名称为“以数据库作为先行课”的记录,然后选择需要的学生ID。最终在外层查询中,将学生表与子查询结果进行连接,获取学生姓名和学号信息。