SQL入門第6章 実習課題
6−1 数値データを取り扱う
- 設問1
- EMP表から「JOB」が'SALESMAN'でありかつ「COMM」が「SAL」の25%より低い社員の「ENAME」「SAL」「COMM」列を表示しなさい。
- 設問2
- EMP表から「JOB」が'MANAGER'である社員の「ENAME」「SAL」列を表示しなさい。ただし、「SAL」列は「SAL」の10%増しの値を表示すること。
- 設問3
- EMP表から全社員の「ENAME」「SAL」「SAL+COMM」列を表示する。ただし、「SAL」+「COMM」列が空白表示にならないようにすること。
6−2 数値データに関する関数
- 設問1
- EMP表から「JOB」が'MANAGER'の社員の「ENAME」「SAL」「MOD(SAL,100)」列を表示しなさい。「MOD(SAL,100)」列は「SAL」を100で割った余りを表示すること。
- 設問2
- EMP表から「JOB」が'ANALYST'の社員の「ENAME」「SAL」「SAL/22」(小数点以下第2位四捨五入)列を表示しなさい。
- 設問3
- EMP表から「JOB」が'ANALYST'の社員の「ENAME」「SAL」「SAL/22」(小数点以下2桁切捨て)列を表示しなさい。
- 設問4
- EMP表から「COMM」がNULL以外の社員の「ENAME」「COMM」「POWER(COMM,2)」(「COMM」の2乗)列を表示しなさい。
- 設問5
- EMP表から「COMM」がNULL以外の社員の「ENAME」「COMM」「SQRT(COMM)」(「COMM」の平方根)列を表示しなさい。
6−3 日付データを取り扱う
- 設問1
- EMP表から「JOB」が'SALESMAN'である社員の「ENAME」「HIREDATE」「HIREDATE−30」列を表示しなさい。「HIREDATE−30」は「HIREDATE」から30日前の日付を表示すること。
- 設問2
- EMP表から「JOB」が'SALESMAN'である社員の「ENAME」「HIREDATE」列を表示すること。ただし、「HIREDATE」は'yy/mm/ddの形式で曜日付きで表示すること。
- 設問3
- 本日の日付を'yyyy/mm/dd'の形式で表示しなさい。曜日、時間は付けないこと。
- 設問4
- 本日の日付、曜日、時間を表示しなさい。表示形式は日付が'yy/mm/dd'、曜日が'day'、時間が'hh24:mi:ss'とすること。
6−4 日付データに関する関数
- 設問1
- EMP表から「DEPTNO」が20である社員の「ENAME」「HIREDATE」列と列名が「入社3年後」の列を表示しなさい。「入社3年後」の列には「HIREDATE」から3年(36ヶ月)経ったの日付を表示すること。
- 設問2
- 今月の最後の日付を表示しなさい。
- 設問3
- EMP表から「DEPTNO」が20である社員の「ENAME」「HIREDATE」列と列名が「入社日より後の木曜日」の列を表示しなさい。「入社日より後の木曜日」の列には「HIREDATE」から見て次の木曜日の日付を表示すること。
- 設問4
- EMP表から「JOB」が'MANAGER'である社員の「ENAME」「HIREDATE」列と列名が「勤務年数」の列を表示しなさい。今日現在の勤務年数を小数点以下を切り捨てて表示しなさい。
6−5 文字列データを取り扱う
- 設問1
- EMP表から全員の「ENAME」「SAL」列を連結し1つの列として表示しなさい。なお、「ENAME」の右には 'さんの給与は、' 、「SAL」の右には 'ドルです。' と表示すること。
- 設問2
- EMP表から全員の「ENAME」「SAL」列を連結し1つの列として表示しなさい。列見出しは"給与一覧"とする。「ENAME」の右には'さんの給与は、'「SAL」の右には'ドルです。'と表示すること。
6−6 文字列データに関する関数
- 設問1
- DEPT表から全部門の「DNAME」列を表示しなさい。「DNAME」は、最初の文字を大文字にし、残りはすべて小文字で表示すること。
- 設問2
- DEPT表から全部門の「LOC」列を表示しなさい。「LOC」は、すべて小文字で表示すること。
- 設問3
- EMP表から「JOB」が'MANAGER'の社員の「EMPNO」「ENAME」列を表示しなさい。「ENAME」は先頭から3文字の文字列を抜き出して表示すること。
- 設問4
- DEPT表から全部門の「DNAME」「LOC」「LOCの長さ」を表示しなさい。ただし、「LOCの長さ」は列名を"長さ"と付け、「LOC」の文字列の長さを表示すること。
6−7 数値、文字列、日付データに関する関数
- 設問1
- EMP表から「JOB」が'SALESMAN'である社員の「ENAME」「HIREDATE」「'99-12-31'−HIREDATE」列を表示しなさい。「'99-12-31'−HIREDATE」は'99-12-31'から「HIREDATE」を引いた日数を表示すること。
- 設問2
- EMP表から「JOB」が'SALESMAN'の社員の「ENAME」「JOB」「SAL」列を表示しなさい。「SAL」の書式は先頭に「$」をつけ、3桁編集すること。なお、最高の数値は9999とし小数点以下は表示しないものとする。
- 設問3
- 今日の日付を'YYYY.MM.DD'の形式で表示しなさい。
6−8 その他の関数
- 設問1
- EMP表から「JOB」が'SALESMAN'である社員の「ENAME」「SAL*0.25」「COMM」「GREATEST」列を表示しなさい。「GREATEST」列は列見出しを「GREATEST」と付け、「SAL」の25%と「COMM」を比較して大きい方の値を表示すること。
- 設問2
- EMP表から「JOB」が'SALESMAN'の社員の「ENAME」「JOB」「LEAST」列を表示しなさい。「LEAST」列は列見出しを「LEAST」と付け、「ENAME」と「JOB」を比較して小さい方の値を表示すること。