SQL:サブクエリー
■ サブクエリー サブクエリーとは、クエリーした結果の値をWHEREの条件式に使用できる機能です。これにより、平均値や最大値などの集計結果を条件に設定することができます。 書式は以下のようになります SELECT [列名], ... FROM [テーブル名] WHERE [列名] [条件式] ( SELECT [列名] FROM [テーブル名] WHERE 条件), ; カッコ内で実行するサブクエリーでは、通常1つのレコードを返すようにします。複数のレコードを返すサブクエリーの場合は、メインクエリー内の条件式にはINを使います。サブクエリーの中でさらにサブクエリーを重ねることもできます。 例 SELECT 名前 FROM 成績 WHERE 数学 > ( SELECT AVG(数学) FROM 成績 ) ; -- 数学の値が平均値以上の値を持つレコードの名前を取得 SELECT * FROM 商品 WHERE ID IN ( SELECT 商品ID FROM 購入履歴 WHERE ユーザーID = 10) ; -- 購入履歴テーブルからユーザーID=10のレコードの商品IDをすべて列挙し、商品テーブルから同じIDを持つレコードを取得 << 戻る R HOUSE | RIKO's Trial Page | Shirley's Pettit Case | Shirley's i-box | Shirley's little box
■ サブクエリー
サブクエリーとは、クエリーした結果の値をWHEREの条件式に使用できる機能です。これにより、平均値や最大値などの集計結果を条件に設定することができます。 書式は以下のようになります SELECT [列名], ... FROM [テーブル名] WHERE [列名] [条件式] ( SELECT [列名] FROM [テーブル名] WHERE 条件), ; カッコ内で実行するサブクエリーでは、通常1つのレコードを返すようにします。複数のレコードを返すサブクエリーの場合は、メインクエリー内の条件式にはINを使います。サブクエリーの中でさらにサブクエリーを重ねることもできます。 例 SELECT 名前 FROM 成績 WHERE 数学 > ( SELECT AVG(数学) FROM 成績 ) ; -- 数学の値が平均値以上の値を持つレコードの名前を取得 SELECT * FROM 商品 WHERE ID IN ( SELECT 商品ID FROM 購入履歴 WHERE ユーザーID = 10) ; -- 購入履歴テーブルからユーザーID=10のレコードの商品IDをすべて列挙し、商品テーブルから同じIDを持つレコードを取得
サブクエリーとは、クエリーした結果の値をWHEREの条件式に使用できる機能です。これにより、平均値や最大値などの集計結果を条件に設定することができます。
書式は以下のようになります
SELECT [列名], ... FROM [テーブル名] WHERE [列名] [条件式] ( SELECT [列名] FROM [テーブル名] WHERE 条件), ;
カッコ内で実行するサブクエリーでは、通常1つのレコードを返すようにします。複数のレコードを返すサブクエリーの場合は、メインクエリー内の条件式にはINを使います。サブクエリーの中でさらにサブクエリーを重ねることもできます。
例
SELECT 名前 FROM 成績 WHERE 数学 > ( SELECT AVG(数学) FROM 成績 ) ; -- 数学の値が平均値以上の値を持つレコードの名前を取得 SELECT * FROM 商品 WHERE ID IN ( SELECT 商品ID FROM 購入履歴 WHERE ユーザーID = 10) ; -- 購入履歴テーブルからユーザーID=10のレコードの商品IDをすべて列挙し、商品テーブルから同じIDを持つレコードを取得
<< 戻る R HOUSE | RIKO's Trial Page | Shirley's Pettit Case | Shirley's i-box | Shirley's little box