MySQL では、ANY はサブクエリによって返された行が条件を満たすかどうかをチェックし、ALL はサブクエリによって返されたすべての行が条件を満たすかどうかをチェックします。たとえば、ANY は少なくとも 1 つの成績が 90 を超える学生を検索しますが、ALL はすべてのコースで 90 を超える成績のみを持つ学生を検索します。
MySQLのANYとALLの違い
MySQLでは、ANYとALLは、サブクエリによって返された値が特定の条件を満たしているかどうかを確認するために集計クエリで使用されるキーワードです。それらの主な違いは次のとおりです。
ANY
ALL
たとえば、
次のフィールドを持つ生徒の成績表があるとします:student_id
: 生徒 ID student_id
:学生 IDname
:学生姓名course_id
:课程 IDgrade
name
: 生徒の名前 course_id
: コース ID
grade
: 成績
成績が 90 を超えるすべての学生を検索するには、次のクエリを使用できます:
<code class="sql">SELECT name FROM students WHERE ANY (SELECT grade FROM grades WHERE student_id = students.student_id) > 90;</code>
このクエリは名前を返します。少なくとも 1 つの成績が 90 を超える全生徒のうち。
すべてのコースで 90 点を超えた学生のみを検索するには、次のクエリを使用できます: <code class="sql">SELECT name
FROM students
WHERE ALL (SELECT grade FROM grades WHERE student_id = students.student_id) > 90;</code>
以上がmysqlのanyとallの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。