SQL(DDL・DML・DCL)とは?
SQL(DDL・DML・DCL)とは、SQL文の分類。DDL(データ定義言語)はCREATE・ALTER・DROPなど表そのものの構造を定義・変更する文。DML(データ操作言語)はSELECT・INSERT・UPDATE・DELETEなどデータそのものを操作する文。DCL(データ制御言語)はGRANT・REVOKEなどアクセス権限やトランザクションを制御する文。
システム監査技術者試験の過去問では2回出題されています(2017年度〜2024年度)。
えすきゅーえる でぃーでぃーえる・でぃーえむえる・でぃーしーえる
SQL(DDL・DML・DCL)の意味
SQL文の分類。DDL(データ定義言語)はCREATE・ALTER・DROPなど表そのものの構造を定義・変更する文。DML(データ操作言語)はSELECT・INSERT・UPDATE・DELETEなどデータそのものを操作する文。DCL(データ制御言語)はGRANT・REVOKEなどアクセス権限やトランザクションを制御する文。
SQL(DDL・DML・DCL)の具体例
新しい表を作るCREATE TABLE文はDDL、既存の表に行を1件追加するINSERT文はDML、特定の利用者に表への参照権限を与えるGRANT文はDCLに分類される。
SQL(DDL・DML・DCL)は試験でどう引っ掛けられる?
「データを消すからDML」と短絡しないこと。TRUNCATEは行を消すが表の定義を扱うDDLに分類され、DMLのDELETEとは別物。GRANT・REVOKEはDCL、COMMIT・ROLLBACKはトランザクション制御の文で、DCLと混同しやすい。
SQL(DDL・DML・DCL)が出た過去問
“商品”表と“商品別売上実績”表に対して,SQL文を実行して得られる売上平均金額はどれか。
正解:150
要点:集合関数のAVGはNULLを除外して平均を計算する
商品ランクAは3件で、外部結合により売上実績のない商品の売上合計金額はNULLとなる。集合関数のAVGはNULLを計算対象から除外し、値が存在する行だけで平均を求めるため、分母は3ではなく2になる。したがって50と250の平均で150が得られる。
出典:平成29年度 春期 システム監査技術者試験 am2 問17(IPA)“納品”表と“顧客”表の自然結合と同じ結果を得るSQL文はどれか。
正解:SELECT 納品.顧客番号, 納品.商品番号, 納品.納品数量, 顧客.顧客名 FROM 納品, 顧客 WHERE 納品.顧客番号 = 顧客.顧客番号
要点:自然結合は共通列で等結合し、その共通列を1回だけ出力する
自然結合は、両方の表に共通する列(ここでは顧客番号)の値が等しい行同士を結合し、結合に使った共通列を重複させずに1回だけ出力する。したがって結果の列は、納品側の顧客番号・商品番号・納品数量に、顧客側の顧客名を加えたものになる。アスタリスクを使うと顧客番号が二度現れるため、自然結合と同じ結果にはならない。
出典:令和6年度 秋期 システム監査技術者試験 am2 問21(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。