SQL(SELECT文・結合)とは?
SQL(SELECT文・結合)とは、関係データベースを操作するための問い合わせ言語。データの検索にはSELECT文を用い、WHERE句で条件を絞り込み、複数の表を組み合わせて扱うにはJOIN(結合)を使う。JOINには内部結合(両方の表に一致するデータだけを対象とする)や外部結合(一方に存在すれば他方が無くても結果に含める)などの種類がある。
基本情報技術者試験の過去問では18回出題されています(2016年度〜2026年度)。
えすきゅーえる
SQL(SELECT文・結合)の意味
関係データベースを操作するための問い合わせ言語。データの検索にはSELECT文を用い、WHERE句で条件を絞り込み、複数の表を組み合わせて扱うにはJOIN(結合)を使う。JOINには内部結合(両方の表に一致するデータだけを対象とする)や外部結合(一方に存在すれば他方が無くても結果に含める)などの種類がある。
SQL(SELECT文・結合)の具体例
「SELECT 社員名 FROM 社員表 INNER JOIN 部署表 ON 社員表.部署コード = 部署表.部署コード WHERE 部署表.部署名 = '営業部'」のように書くと、営業部に所属する社員名の一覧を取得できる。
SQL(SELECT文・結合)は試験でどう引っ掛けられる?
内部結合(INNER JOIN、両表に一致するデータのみ)と外部結合(LEFT/RIGHT/FULL OUTER JOIN、一致しない側もNULLを補って結果に含める)の違いが問われやすい。
SQL(SELECT文・結合)と関連する用語
SQL(SELECT文・結合)が出た過去問
関係代数の演算のうち,関係R,Sの直積(R×S)に対応するSELECT文はどれか。ここで,関係R,Sを表R,Sに対応させ,表R及びSにそれぞれ行の重複はないもの…
正解:SELECT * FROM R, S
要点:直積はFROMに表を並べた全組合せ。行数はm×n
直積は、2つの関係のすべての行の組合せを作り、列を連結した関係を得る演算である。SQLではFROM句に複数の表を結合条件なしで並べると各行の全組合せが得られるため、これが直積に対応する。行数はRとSの行数の積になる。
出典:平成28年度 秋期 基本情報技術者試験 午前 問28(IPA)“社員”表と“部門”表に対して,次のSQL文を実行したときの結果はどれか。 SELECT COUNT(*) FROM 社員, 部門 WHERE 社員.所属 = …
正解:3
要点:結合+条件のCOUNT(*)は条件を満たす行の組合せ数を数える
部門表でフロアが2なのは情報システム・経理・法務・購買である。社員表のうち所属がこれらに一致するのは、経理が1人、情報システムが2人で、法務と購買には所属する社員がいない。結合条件を満たす行は合計3行なのでCOUNT(*)は3となる。
出典:平成28年度 秋期 基本情報技術者試験 午前 問29(IPA)WAFの説明はどれか。
正解:Webサイトに対するアクセス内容を監視し,攻撃とみなされるパターンを検知したときに当該アクセスを遮断する。
要点:WAFはHTTPの内容を検査してWeb攻撃を遮断する
WAF(Web Application Firewall)は、Webアプリケーションへの通信内容を検査し、SQLインジェクションやクロスサイトスクリプティングなど攻撃と判断されるパターンを含むアクセスを遮断する仕組みである。通常のファイアウォールがポート単位で制御するのに対し、HTTPの中身まで見る点が特徴である。
出典:平成28年度 秋期 基本情報技術者試験 午前 問42(IPA)SQLインジェクション攻撃の説明として,適切なものはどれか。
正解:Webアプリケーションのデータ操作言語の呼出し方に不備がある場合に,攻撃者が悪意をもって構成した文字列を入力することによって,データベースのデータの不正な取得,改ざん及び削除をする攻撃
要点:SQLインジェクションは入力値でSQL文を書き換える攻撃
SQLインジェクションは、入力値をそのままSQL文に連結してしまう実装の不備を突く攻撃である。攻撃者が引用符や論理式を含む文字列を送り込むと、開発者の意図しないSQL文が組み立てられ、データの不正取得・改ざん・削除が起きる。対策としてはプレースホルダを用いた文の組立てが基本になる。
出典:平成28年度 春期 基本情報技術者試験 午前 問37(IPA)クライアントとWebサーバの間において,クライアントからWebサーバに送信されたデータを検査して,SQLインジェクションなどの攻撃を遮断するためのものはどれか。
正解:WAF
要点:WAFはHTTPの中身を検査してWeb攻撃を遮断する
WAF(Web Application Firewall)は、HTTPの通信内容そのものを検査し、攻撃に典型的なパターンを含むリクエストを遮断する。パケットヘッダしか見ない従来型ファイアウォールでは防げない、SQLインジェクションやクロスサイトスクリプティングへの対策として位置付けられる。アプリケーション改修が難しい場合の緩和策としても使われる。
出典:平成28年度 春期 基本情報技術者試験 午前 問43(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。