実務でSQLやDBについて理解していないといけないと思い勉強を始めました。
その内容をまとめます。
ネスト
SELECT文の中にSELECT文を入れることで本来2回必要な処理が1回でできます。
例えば、「売上管理簿の中で最も大きい売上金額の内容と金額を求めたい」となった場合
2回で行う場合は以下のように書きます。
//まず最も大きい売上金額を求める
SELECT MAX(売上金額) FROM 売上管理簿
//上記の結果を書き留めておき以下の文を実行
SELECT 内容, 売上金額 FROM 売上管理簿
WHERE 売上金額 = <上記の結果>
上記のSQL文はネスト構造にすることで1回で行うことができます。
ネストしたSQL文は以下のように書きます。
SELECT 内容, 売上金額 FROM 売上管理簿
WHERE 売上金額 = (SELECT MAX(売上金額) FROM 売上管理簿)
処理の流れを説明します。
①ネストされている( )の中を処理
②( )の外の処理
というようにネストされている部分から処理されるので( )から先に考えればどんな処理がされているか分かりやすいのかなと思いました。
以上です。