第3回[データベース]SQL(SELECT文)の副問い合わせ
皆様
こんにちは、まっちゃん先生です。
今回は、SELECT文2回目なので、SELECT文での副問い合わせをご紹介したいと思います。
副問い合わせは、SELECT以外にも、DELETEやUPDATEにも関連するので、
まとめてやってしまおうかなと思いましたが(個々にわけるより投稿が少なくて済むので笑)、なにかとプロジェクトで不便を感じる可能性があるので、別々にしました。
副問い合わせを用いたSELECT文の基本構文はこちらです。
SELECT 項目 FROM テーブル名 WHERE 条件
赤くした部分がテーマで記載した副問い合わせとなります。
たとえば、テーブル名:まっちゃんの定義が日付、金額、商品となる場合、
SELECT DISTINCT
日付,
金額,
商品
FROM
まっちゃん
WHERE
日付 <= 昨日 and
金額 <= 10000
の場合、記載された条件は、
昨日よりも前に10000以下の金額の商品データが重複なしで
取得されます。
※見やすいように、あえてインデントをつけました。
実行結果
赤字となっているデータについては、どちらも条件を満たすが、
データが全項目同じなので、1行(プロジェクトでは1レコードのみと言われることが多い)のみ残った。
黄色については、データがこれのみなので、1行のみ残った。
それ以外は、副問い合わせの条件を満たさないので、2レコードのみ抽出された結果になる。
実際は、もう少し複雑な外部結合を用いた記載であることが多いが、
今のところ、そのような要望はないと思うので、あればやります^^
まずは、副問い合わせの基本はこのような書き方となることを、
消化しましょう。
このブログへのコメントは muragonにログインするか、
SNSアカウントを使用してください。