外层查询能否使用内层查询中的表的某列,比如下面的语句,如何在SELECT中使用depart表的列
SELECT student_name
FROM student,depart
WHERE student.student_departid IN (SELECT depart_id FROM depart);

解决方案 »

  1.   


    --外层查询是无法使用,内层查询的某列的,当然,直接把子查询写在SELECT 后面另说..
    --如果要用到关联的某列的话,可以直接用连接来查询,不要使用子查询,示例如下:SELECT student_name,depart.depart_id
    FROM student,depart
    WHERE student.student_departid = depart.depart_id;
      

  2.   

    SELECT student_name,depart.depart_id
    FROM student,depart
    WHERE student.student_departid = depart.depart_id;
      

  3.   

    SELECT student_name
    FROM student WHERE student.student_departid IN (SELECT depart_id FROM depart);
      

  4.   

    ---具体要加个条件就可以了
    SELECT student_name
    FROM student,depart
    WHERE student.student_departid=depart.departid 
    AND student.student_departid IN (SELECT depart_id FROM depart);