独生子电视剧演员表:select 语句可不可以套用

来源:百度文库 编辑:中科新闻网 时间:2024/05/03 09:25:56
我想从表A中,查找所有stu是 B表中stu_class=1的这样的数据。
这样写一定不对,谁能告诉我怎么写。
selsect * from A where stu= select * from B where stu_class = 1

不要告诉我用两个rs,rs2这样的方法来做。
让我看看,谁对就给谁了。。。谢谢你们!

需要知道你A表的关键字和B表的关键字。

select a.* from a, b where a.关键字 = b.关键字 and b.stu_class = 1

用第两个方法也可以,但会大大降低数据库的性能,因为IN很浪费资源,理论上讲不推荐使用。再有括号里的select 不可以跟 *,在IN中的select只可以返回一个字段的数据。

select * from A where stu= select * from B where stu_class = 1
如果按你上面说的不行的话~
那只能传值进去喽~
先B的SELECT循环检索,再取出一条,传到A表的检索条件里去喽~

selsect *
from A
where stu in ( select stu from B where stu_class = 1 )

注意,后面的select不能是* 必须是一个字段

我知道SQL语句的用内联的方式
Select *from A INNER JOIN B ON A.stu= B.stu_class

真诱人啊,
当然可以嵌套,就是按你说的,鬼火狼烟 的说法也可以,不过不是最优,如果记录太多,他的效率就低了。
如果不行的话,那还有一个办法,一定行,就是创建一个视图,然后用查询表的方法查询视图。

2楼的是错误的
selsect * from A where stu in ( select * from B where stu_class = 1 ) 这样写的话括号中的select只能选择一个字段,不然会报错,而且select拼写错误