初級者SQLチェックリスト

変換関数と条件式の使用方法

  • 1.変換関数を使用して日付を数値に変換できますか。
  • 2.変換関数を使用して数値を日付に変換できますか。
  • 3.変換関数を使用して文字列を日付に変換できますか。
  • 4.一つ目の引数がNULLでない場合、二つ目の引数を戻す関数は何ですか。
  • 5.二つの値を比較して、一致する場合NULLを戻す関数は何ですか。
  • 6.NVLの引数はすべて同じデータ型でなければいけませんか。
  • 7.DECODEの戻り値はすべて同じデータ型でなければいけませんか。
  • 8.CASEの戻り値はすべて同じデータ型でなければいけませんか。
  • 9.CASE式のWHEN句に副問い合わせを使用することはできますか。
  • 10.デフォルトの日付書式はどのようなものですか。
  • 11.日付をスペル表記で表すときの書式はどのようなものですか。
  • 12.日付を序数で表現するときの書式はどのようなものですか。

単一行関数による出力のカスタマイズ

  • 1.単一行関数のネスト構造はいくつまでできますか。
  • 2.単一行関数は使用できるのはSELECT文のどの句ですか。
  • 3.単一行関数は引数のデータ型と戻される結果値のデータ型は常に同じですか。
  • 4.CONCAT関数で連結できる文字列はいくつですか。
  • 5.文字関数を使用して実行できることを三つ以上上げなさい。
  • 6.数値関数を使用して実行できることを二つ以上上げなさい。
  • 7.日付関数を使用して実行できることを二つ以上上げなさい。

データの制限

  • 1.SELECT句で指定した列別名をWhere句で使用できますか。
  • 2.SELECT句で指定した列別名をORDER BY句で使用できますか。
  • 3.Where salary BETWEEN 10000 AND 15000をAND/OR論理演算子で書き換えてください。
  • 4.Where department_id IN(10,20)をAND/OR論理演算子で書き換えてください。
  • 5.先頭がKで始まる名前を検索するときに使用する演算子は何ですか。
  • 6.LIKE演算子で使用できるワイルドカード文字は何ですか。
  • 7.LIKE演算子を使用して文字列中の%または_を検索するときのオプションは何ですか。
  • 8.デフォルトの行の並べ替え順は昇順/降順のどちらですか。
  • 9.出力する時の行を降順に並べ替えるキーワードは何ですか。
  • 10.NULLが含まれる列の行を並べ替えた場合、デフォルトでNULLは先頭/末尾のどちらに表示されますか。
  • 11.NULLの表示位置を制御するキーワードは何ですか。
  • 12.「ORDER BY 2 DESC, 1」の2や1の意味は何ですか。
  • 13.出力結果を制限するオプションは何ですか。
  • 14.FETCH FIRST n ONLYとFETCH FIRST n WITH TIESの違いは何ですか。
  • 15.OFFSET 3 ROWS FETCH NEXT 5 ROWS ONLYと指定した場合に制限される出力行はどのようなものですか。
  • 16.SQL*PLUSのDEFINEコマンドで置換変数の値をセットしておくとどうなりますか。
  • 17.置換変数(&&)を使用するとどうなりますか。

グループ関数による集計データ

  • 1.グループ関数を使用して、文字列の最小を求めることができますか。
  • 2.グループ関数を使用して、日付の合計を求めることができますか。
  • 3.グループ関数を使用して、数値型の列値の件数を求めることができますか。
  • 4.グループ関数の引数としてグループ関数をネストできるのはいくつまでですか。
  • 5.SELECT句にグループ関数を記述するときには、必ずGROUP BY句が必要ですか。
  • 6.グループ関数は、WHERE句で使用できますか。
  • 7.グループ関数は、HAVING句で使用できますか。
  • 8.HAVING句には、グループ関数以外の列は使用できますか。
  • 9.GROUP BY句に記述したすべての列をSELECT句に記述する必要はありますか。
  • 10.SELECT句に記述したすべての列をGROUP BYに記述する必要はありますか。
  • 11.同じ条件で求めたCOUNT(*)の出力結果とCOUNT(manager_id)の出力結果は異なっています。考えられることは何ですか。
  • 12.グループ関数を使用して、JOB_IDが何種類あるかを求めたいときはどうしますか。
  • 13.縦並びの出力結果を区切り文字で区切り、1列1行の文字列に変換する関数は何ですか。
  • 14.LISTAGG関数を使用して値リストを作成するときに値の並び順は制御できますか。
  • 15.LISTAGG(…WITHIN GROUP (ORDER BY…))のORDER BYで指定する列は、SELECT文の末尾に指定するORDER BYの列同じでなければいけませんか。

表結合

  • 1.NATURAL JOINが結合で使用する列とはどのような列ですか。
  • 2.名前とデータ型が一致する列が複数あるが、その一部しか結合に使用しない場合、どの結合が最適ですか。
  • 3.結合列以外に同じ名前の列が存在する場合、どちらの表の列かを区別するにはどのような方法を使用しますか。
  • 4.NATURAL JOINを使用して結合する場合、結合列を表名で修飾するとどうなりますか。
  • 5.USINGを使用して結合する場合、結合列を表名で修飾するとどうなりますか。
  • 6.非等価結合を行う場合、結合条件はWHERE句に記述しますか。
  • 7.結合条件に一致する行に行え、一方の表にしか存在しない一致しない行を出力するときに使用する結合は何ですか。
  • 8.JOIN句を使用せずにFROM句に複数の表名を記述した場合、結合条件はどこに記述しますか。
  • 9.同じ表の異なる行を1行で表示する場合の結合は何ですか。
  • 10.NATURAL JOINを使用して、自己結合はできますか。
  • 11.デカルト積を求める時に使用する結合は何ですか。
  • 12.三つ以上の表を結合することはできますか。
  • 13.三つ以上の結合を行うとき、NATURAL JOIN、JION USING、JOIN ONが混在することはできますか。

副問合せ

  • 1.メインの問合せと副問合せでは、同じ表からデータを取得しなければいけませんか。
  • 2.副問合せに、ORDER BYを含めることはできますか。
  • 3.副問合せにGROUP BYを含めることはできますか。
  • 4.「副問合せは、比較演算子の左側のみに記述できる」これは、正しいですか。
  • 5.1行だけ戻す副問合せを何といいますか。
  • 6.複数行戻す副問合せを何と言いますか。
  • 7.「=」比較演算子は、複数行問合せで使用できますか。
  • 8.複数行問合せで使用できる比較演算子を三つ以上上げてください。
  • 9.IN演算子で比較している複数行副問合せがNULLを戻しました。結果はどうなりますか。
  • 10.NOT IN演算子で比較している複数行副問合せがNULLを戻しました。結果はどうなりますか。
  • 11.SELECT句に副問合せは記述できますか。
  • 12.単一副問合せが記述できる箇所を三つ以上上げてください。
  • 13.副問合せに副問合せを含めることはできますか。
  • 14.副問合せは複数の列を戻すことができますか。

集合演算子

  • 1.論理和を求める集合演算子は何ですか。
  • 2.UNIONとUNION ALLの違いは何ですか。
  • 3.論理積を求める集合演算子は何ですか。
  • 4.部分集合を求める集合演算子は何ですか。
  • 5.集合演算子を使用した問合せにおいて、ORDER BY句は記述できますか。
  • 6.集合演算子を使用した問合せにおいて、ORDER BY句はどこに記述しますか。
  • 7.集合演算子を使用した問合せにおいて、ORDER BY句で記述できるものは何ですか。
  • 8.SELECT句に記述する列数が異なる場合、どうなりますか。
  • 9.SELECT句に記述する列名が各問合せで一致していない場合、どうなりますか。
  • 10.SELECT句に記述する列のデータ型が各問合せで一致していない場合、どうなりますか。
  • 11.集合演算子は副問合せに使用できますか。
  • 12.集合演算子を二つ以上使用した問合せの場合、カッコを使って実行順序を制御できますか。

データ操作文

  • 1.他の表の行だけをコピーしたいとき、どんなコマンドを使用しますか。
  • 2.INSERTにおいてVALUES句と副問合せを併用することはできますか。
  • 3.INSERTにおいてVALUES句の値の代わりに副問合せを使用することはできますか。
  • 4.UPDATEのWHERE句に副問合せは使用できますか。
  • 5.UPDATEのSET句に副問合せは使用できますか。
  • 6.DELETE文のWHERE句に副問合せは使用できますか。
  • 7.表定義は残して、全行を削除する方法を二つ上げてください。
  • 8.DELETEはロールバックできますか。
  • 9.TRUNCATEはロールバックできますか。
  • 10.全行削除する場合、WHERE句を使用しないDELETEとTRUNCATEのどちらが高速ですか。
  • 11.トランザクションが完了する場合を三つ以上上げてください。
  • 12.セーブポイントはCOMMITにおいて有効ですか。
  • 13.セーブポイントはROLLBACKにおいて有効ですか。
  • 14.セーブポイントはDMLだけでなくDDLにおいても使用可能ですか。

データ定義言語

  • 1.LONG型の特徴を二つ以上上げなさい。
  • 2.CHARのサイズを省略するとどうなりますか。
  • 3.「SELECT INTERVAL '300' MONTH FROM dual;」を実行するとどういう出力が行われますか。
  • 4.列ラベルでしか定義できない制約は何ですか。
  • 5.SYSDATEはDEFAULTに指定できますか。
  • 6.SYSDATEはCHECK制約で使用できますか。
  • 7.順序名.NEXTVALはDEFAULTで使用できますか。
  • 8.必須でかつ重複を許さない列を定義する方法を二つ上げなさい。
  • 9.外部キー制約が参照できるのは何ですか。
  • 10.CHECK制約でBETWEEN比較演算子は使用できますか。
  • 11.VARCHAR(400)の列に、最大300文字が格納されている行が存在します。サイズを500に変更できますか。
  • 12.VARCHAR(400)の列に、最大300文字が格納されている行が存在します。サイズを300に変更できますか。
  • 13.表に行が存在するとき、列の削除はできますか。
  • 14.参照している親表の行が削除されるときに、外部キーの行も削除する設定は何ですか。
  • 15.表に行が存在するとき、追加する列にNOT NULL制約は定義できますか。

Follow me!