MySQLのサブクエリ


概要:サブクエリは、1つのSELECT文に別のSELECT文がネストされていることを意味します.一般に、内部にあるクエリーをサブクエリー、外部のクエリーを外部クエリーと呼びます.サブクエリーはカッコで囲まれている必要があります.通常、サブクエリを使用すると、次のようなメリットが得られます.
(1)構造化されたクエリを実現することで,1つのクエリ文の各部分を分けることができる.
(2)サブクエリは担当クエリを実現する別の方法を提供し,場合によってはJOINとUNIONの操作に代わることができる.
(3)サブクエリの可読性が非常に高いことが重要な特徴である.
一、サブクエリに基づく比較
      comparison_operator (   )
comparison_Operatorには、=、>、=、<=、<>が含まれます.
たとえば、学生の成績表で最も成績が高い学生情報を検索するには、次のようにします.
SELECT * 
FROM student
WHERE student.id=
(SELECT sGrade.id FORM sGrade ORDER BY grade LIMIT 1)

二、ANY、IN、SOMEでサブクエリを行う
三、ALLによるサブクエリ
四、独立サブクエリ
サブクエリが外部クエリに依存しているかどうかによって、サブクエリを独立サブクエリ(self-contained subquery)と関連サブクエリ(correlated subquery)に分けることができます.独立サブクエリは外部クエリに依存せずに実行されるサブクエリであり、独立サブクエリはSQL文のデバッグに特に便利です.
五、関連サブクエリ
関連サブクエリとは、外部クエリを参照したサブクエリのことです.つまり、サブクエリは外部クエリの各行に対して1回計算されます.
六、EXISTS