【一撃でマスター】ゼロから学ぶSQL完全攻略【PostgreSQL】

Поделиться
HTML-код
  • Опубликовано: 19 дек 2024

Комментарии • 15

  • @itgakko
    @itgakko  5 месяцев назад +1

    ⚠学習前にご確認ください!
    ・誤りがあった場合に概要欄で訂正している場合があります。動画におかしな点があった場合、まずは概要欄のご確認をお願いします。
    ・動画で投影している教材は、本動画の概要欄からさいとうの公式LINEに登録頂くと無料でダウンロードできます!
     ※概要欄で訂正している内容が反映されたものをダウンロードできます。

  • @くろのり-o2r
    @くろのり-o2r 5 месяцев назад

    ちょうどOSS-DBを取得しようと勉強していたので助かります!ありがとうございます!

    • @itgakko
      @itgakko  5 месяцев назад

      コメントありがとうございます!
      勉強頑張ってください!

  • @太郎-g6p
    @太郎-g6p 5 месяцев назад

    ありがとうございます!
    3連休で勉強頑張ります!

    • @itgakko
      @itgakko  5 месяцев назад

      いいですね!
      勉強頑張ってください!

  • @宏次郎早川
    @宏次郎早川 4 месяца назад

    ありがとうございました。

    • @itgakko
      @itgakko  4 месяца назад

      コメントありがとうございます!

  • @super_sentou
    @super_sentou 5 месяцев назад

    ありがとうございました!
    今まで自学していて、文法は分かるんだけど自分でSQLを作ることができないという状態だったのですが、どういった考えでSQLを組み立てたらよいかというような『考え方』を教えていただいたおかげで自分でSQLを作れるようになったと思います!

    • @itgakko
      @itgakko  5 месяцев назад

      コメントありがとうございます!

  • @pen9u1n_san
    @pen9u1n_san 4 месяца назад

    ちょうどポスグレの復習をしていたので動画ありがとうございます!
    4:54:02 の部分で質問というか要望があります。
    回答例としては
    SELECT *
    FROM country
    WHERE
    EXISTS(
    SELECT prefecture_id
    FROM prefecture
    WHERE prefecture.country_id = country.country_id
    );
    となっているのですが、サブクエリのSELECT句にあるprefecture_idが何のためにあるか分からず試しに*(アスタリスク)やprefecture_name、SELECT句なし、などにしてみても同様の結果が得られました。このことからすでにWHERE句で絞り込みが済んでいるためにSELECT句がそもそも必要ないのでは?という結論に至ったのですが、こちらで理解合っていますでしょうか?
    また、調べていても相関サブクエリやEXISTSの解説で分かりやすい動画や資料が少ないのでぜひそこに特化した動画などを作成いただけると嬉しいです!

    • @itgakko
      @itgakko  4 месяца назад +1

      質問ありがとうございます!
      まず文法上としては、以下どれでも同じ結果が得られます。
       ・SELECT prefecture_id
       ・SELECT *
       ・SELECT 1
       ・SELECT (列名などの記載なし)
      記載いただいているように、SELECT句の内容を * (アスタリスク) などにしても結果は変わりません。
      理由としては、EXISTS関数は「サブクエリの実行結果が1行以上存在するか」だけをチェックしているので、「SELECT 1」や「SELECT *」「SELECT」(列名などの記載なし) でも結果は問題ありません。
      ただ、「SELECT *」としてしまうと、判定には不要なのに全ての列の値を取得してしまうため、性能劣化などのリスクが出てきます。なので「SELECT prefecture_id」など1つの列だけを取得するか、もしくは「SELECT 1」など、列の値ではなく固定値を取得する形の方が良いです。
      以下だと「SELECT 1」が推奨されていたのでこう書くのが無難かと思います。
       www.postgresql.jp/document/7.3/user/functions-subquery.html
       (PostgreSQL 7.3.4 ユーザガイド 6.15.1. EXISTS)
      「SELECT」(列名などの記載なし) でも結果としては同じものが得られますが、
      ざっと調べてみた限り他のRDBMSで互換性があるか微妙だったので、「SELECT 1」が良さそうです。

    • @pen9u1n_san
      @pen9u1n_san 4 месяца назад

      @@itgakko ありがとうございます!よく分かりました!

    • @itgakko
      @itgakko  4 месяца назад

      @masamasa1212 よかったです!