从一个表上存在但在另一个表上不存在的数据中选择

using code igniter! I have two tables student and student_class with foreign key student_id, i want to pick data which exists on student table but not found on class_student

here is my sql

function student_class(){
    $this->db->SELECT ('student.student_id, student.firstname, student.middlename, student.lastname');
    $this->db->FROM('student');
    $this->db->WHERE('student.status',0);
    $this->db->JOIN('student_class', 'student_class.student_id=student_class.student_id', 'left');
    $this->db->where_not_in('student_class.student_id');
    $query =$this->db->get();
    return $query->result_array();
}

it does not work out!! can i get help..

Try like this..

First find all student ids that are matched with student_class table.Then use $this->db->where_not_in to get your required result.

    function student_class(){
        $this->db->select ('student.student_id');
        $this->db->from ('student');
        $this->db->join('student_class', 'student.student_id=student_class.student_id', 'left');
        $this->db->where('student.status',0);
        $data = $this->db->result_array();//array of matched id's

       $this->db->select('student_id,firstname, middlename,lastname');
       $this->db->from('student');
       $this->db->where_not_in($data);
       $query = $this->db->get();

       return $query->result_array();
    }

Hope it will works.