比如有下面两张表
表课程
 课程类别      课程名
    理科           数学
    理科           物理
    理科           化学
    文科           语文
     ....学生表
   姓名             课程类别
   张三                理科
   李四                理科
   ....我想要得出的结果
   张三      理科     数学
   张三      理科     物理
   张三      理科     化学
  李四        理科    数学
  李四        理科    物理
  李四       理科     化学
  .....这样的SQL文应该怎么写啊

解决方案 »

  1.   

    select 姓名,表课程.课程类别,课程名 from 表课程,学生表
    where 表课程.课程类别 = 学生表.课程类别;
      

  2.   

    select b.姓名,  b.课程类别,a.课程名
    from 表课程 a,学生表 b
    where a.课程类别(+)=b.课程类别
      

  3.   

    这不就是笛卡儿积吗,直接form两个表就可以了。加上where条件课程类别=课程类别。select 学生表.姓名,学生表.课程类别,表课程.课程名 from 学生表,表课程 where 学生表.课程类别=表课程.课程类别
      

  4.   

    select b.name,b.courseClass,a.course from a,b where a.courseClass=b.courseClass
      

  5.   


    在数据字典的设计上,最好不要用中文,查询语句楼上都写了。 把相应的表名,字段名改成英语最好...------------------------------------------------------------------------------
    Blog: http://blog.csdn.net/tianlesoftware
    网上资源: http://tianlesoftware.download.csdn.net
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
    Q Q 群:62697716