MySql带条件的左外连接

MySql带条件的左外连接,mysql,sql,database,subquery,left-join,Mysql,Sql,Database,Subquery,Left Join,我有两张桌子 student_info(id,mobile,cTId,lvDate) term_marks(tmId,stdId,cTId,marks,year) 现在,我想通过其他检查找出所有不在学期分数内的学生id, 所以我使用这个查询,但它返回所有匹配和不匹配的两个表 $sql = "select * from student_info si LEFT OUTER JOIN term_marks tm ON si.id=tm.stdId and si.cTId

我有两张桌子

    student_info(id,mobile,cTId,lvDate)

    term_marks(tmId,stdId,cTId,marks,year)
现在,我想通过其他检查找出所有不在学期分数内的学生id, 所以我使用这个查询,但它返回所有匹配和不匹配的两个表

     $sql = "select * from student_info si LEFT OUTER JOIN term_marks tm ON si.id=tm.stdId and si.cTId=tm.cTId AND tm.year=$year)
WHERE si.cTId=$cTId and si.lvDate=0";
我也试过了

      $sql = "select * from student_info si left outer JOIN term_marks tm where si.id=tm.stdId 
     and si.cTId=tm.cTId and si.cTId=$cTId and tm.year=$year and si.lvDate=0";  

你能帮我吗?

但还有其他条件吗?可能吗$sql=选择si.*从学生信息si,其中si.id不在选择tm.stdId从学期标记tm,其中tm.year=$year和si.cTId=$cTId和si.lvDate=0;到处都有教程。尝试搜索SQL教程或SQL联接教程。或者更快的方法是购买一本关于MySql的高评价新书。试着在亚马逊上搜索一本好书。
SELECT si.* 
FROM student_info si 
WHERE si.cTId = $cTId 
  AND si.lvDate = 0
  AND si.id NOT IN 
  ( 
    SELECT tm.stdId 
    FROM term_marks tm 
    WHERE tm.year = $year
  )