学生表(姓名,学号)
课程表(课程名,课程编号)
选课表(学号,课程编号)

解决方案 »

  1.   

    select 课程名 from 课程表 where 选课表.课程编号=课程表.课程编号
      

  2.   

    其实是考双not exists的。呵呵~~~
      

  3.   

    看看这篇文章
    http://community.csdn.net/Expert/topic/3696/3696046.xml?temp=.3502771
      

  4.   

    楼主信 誉 值:  68  好少哦
    不告诉你。HOHO.net 和 SQL 都有自带的工具,就是选择数据源那个自动生成SQL语句。
      

  5.   

    我想楼主的意思是求选了所有课程的学生姓名和学号:
    我来试试吧,毕竟本人写sql语句还是比较擅长。
     hh6382(hh) 的写法有明显的语法错误的!:)学生表(姓名,学号)
    课程表(课程名,课程编号)
    选课表(学号,课程编号)select name,no from(select 学生表.姓名 as name,学生表.学号 as no,count(*) num
    from 学生表,课程表,选课表
    where
     学生表.学号=选课表.学号 
    and 
    选课表.课程编号=课程表.课程编号
    group by 学生表.姓名,学生表.学号)as T where T.num=select count(*) from 课程表这语句我想在sql server 2000中应该没有什么问题的!
    oracle中课程还要改.你试试看!
      

  6.   

    name 和no 分别是姓名和学号
      

  7.   

    学生表(姓名,学号)
    课程表(课程名,课程编号)
    选课表(学号,课程编号)select 学号
    from 学生表
    where (not exists
               (select * from 课程表
                where not exists
                       (select * from 选棵表 where 学号=学生表.学号 and 课程编号=课程表.学号)))
      

  8.   

    select *
    from student
    where student=?
      

  9.   

    SELECT 姓名, 学号
    FROM 学生表
    WHERE (学号 IN
              (SELECT 学号
             FROM 选课表
             GROUP BY 学号
             HAVING COUNT(学号) =
                       (SELECT COUNT(*)
                      FROM 课程表)))
    这句也可以哦
    上面有位老兄用exists的方法,跟书一样,只可惜我现在还对exists似懂非懂,呵呵,指导一下吧
      

  10.   

    SELECT 姓名, 学号
    FROM 学生表
    WHERE (学号 IN
              (SELECT 学号
             FROM 选课表
             GROUP BY 学号
             HAVING COUNT(学号) =
                       (SELECT COUNT(*)
                      FROM 课程表)))
    这句不错,比我的那句要好,请楼主采用