用SQL查询同时选修了1号课和2号课的学生学号

2025-02-23 13:36:33
推荐回答(5个)
回答1:

工具/材料:以Management Studio为例。

1、首先在桌面上,点击“Management Studio”图标。

2、然后在该界面中,点击“新建查询”按钮。

3、之后在该界面中,输入查询同时选修了1号课和2号课的学生学号的SQL语句:selec t no,name from SC where Cno = '1' and  no in (selec t no from SC where   Cno = '2')。

4、接着在该界面中,点击“执行”按钮。

5、最后在该界面中,显示查询结果。

回答2:

你好像写错了吧,,,
我感觉应该是
select Sno
from SC
where Cno='1' and son in (select Sno from SC where Cno='2');
或者
where Cno='1' intersert select Sno from SC where Cno='2');
INTERSECT对两个查询做交集。相当于and

回答3:

查询同时选修了1号和2号课的学生学号
涉及到两个表.学生表和课程表
语句:
select
*
from
student
inner
join
SC
on
student.sno=SC.sno
and
cno
in
('1','2')
为什么不用where
cno=’1‘
and
cno=’2‘
这个关系到数据库的优化问题,哪个执行快,就写哪个
那个语句也可以这样写啊where
sno
in
(select
sno
from
sc
where
sno=’1‘
)and
sno
in(select
sno
from
SC
where
sno=’2‘)

回答4:

因为这样的意思是 在一行内课号既得等于1又得等于2 并没有这样的

回答5:

sno 指的是什么?cno指什么? 上面的sql语句是不可能实现同样的功能的。
sno如果是指学生学号;
cno是指课程号的话。
where cno=’1‘ and cno=’2‘
是指课程号是1和2 的学生信息。
where sno=’1‘ and sno in(select sno
from SC
where sno=’2‘)
是指学生学号是1和2 的学生,事实上,作为主键的sno没有可能同时是1和2的。
请采纳答案,支持我一下。