0

私は学生と教師という名前の2つのテーブルを持っています。次のクエリを使用して出力を取得しています。

DELETE from student, teacher 
USING student, teacher 
WHERE teacher.teacher_id = student.teacher_id 
AND teacher.teacher_id !=99

問題は、そのクエリを実行すると、 teacher_id が !=99 である教師テーブルに他の行が表示されることです。実際、私の生徒テーブルには、どの教師にも属していない生徒がいます。

私を助けてください

4

1 に答える 1

1

あなたは質問で次のように述べました:

問題は、そのクエリを実行すると、教師テーブルに他の行が表示されることです。 teacher_id is !=99

しかし、クエリには where 条件があります。

teacher.teacher_id !=99

STUDENTSだから、誰がに属しているかを削除したいと思いますTEACHER 99

これはうまくいくはずです:

DELETE FROM students
WHERE teacher_id = 99;

または、私が間違っていて、STUDENTSに属していないすべての人を削除したい場合は、次のようにしますTEACHER 99

DELETE FROM students
WHERE teacher_id <> 99;
于 2013-05-31T08:15:28.663 に答える