Решения практических упражнений дисциплины "Теория экономических информационных систем"

Страницы работы

Содержание работы

Решения упражнений: урок 2

Select  Ename, Job, Sal Salary

From   Emp

Where Ename = 'FORD’;

Результат

Без ошибок

select    *

from      emp

where     sal * 12 = 9600;

Результат

Работает без ошибок

SELECT          EMNO, ENAME, SAL*12 ANNUAL SALARY (1,2)

FROM             EMP

WHERE          SALARY >3000                                              (3)

AND                HIREDATE LIKE %84;                                   (4)

·  в таблице EMP нет столбца EMNO;

·  (2) псевдоним не может содержать пробелы. Правильное имя псевдонима: ANNUAL_SALARY;

·  (3) столбца SALARY не существует;

·  (4) символьные константы и даты должны быть заключены в апострофы.

SELECT          *

FROM             SALGRADE;

Результат

Работает без ошибок

SELECT          *

FROM             ЕМР;

Результат

Работает без ошибок

SELECT          ENAME, DEPTNO, SAL

FROM             ЕМР

WHERE          SAL BETWEEN 1600 AND 3000;

Результат

Работает без ошибок

SELECT          ENAME, DEPTNO, SAL

FROM             ЕМР

WHERE          SAL>= 1600

OR                  SAL <= 3000;

Результат

Без ошибок

SELECT          DEPTNO, DNAME

FROM             DEPT

ORDER BY     DNAME;

Результат

Без ошибок

SELECT          JOB

FROM             ЕМР

ORDER BY     JOB DESC;

Результат

Без ошибок

SELECT          *

FROM             EMP

WHERE          DEPTNO IN (10, 20)

ORDER BY     ENAME;

Результат

Без ошибок

SELECT          *

FROM             EMP

WHERE          DEPTNO = 10

OR                  DEPTNO = 20

ORDER BY     ename;

Результат

Без ошибок

SELECT          ENAME, JOB

FROM             EMP

WHERE          JOB = 'CLERK'

AND                DEPTNO = 20;

Результат

Без ошибок

SELECT          ENAME

FROM             EMP

WHERE          ENAME LIKE '%TH%'

OR                  ENAME LIKE '%LL%';

Результат

Без ошибок

SELECT          ENAME, JOB, MGR, SAL

FROM             EMP

WHERE          MGR IS NOT NULL;

Результат

Без ошибок

SELECT          ENAME, SAL*12+NVL(COMM,0)

                                                        REMUNERATION

FROM             EMP;

Результат

Server: Msg 195, Level 15, State 10, Line 110

'NVL' is not a recognized function name.

SELECT          ENAME,DEPTNO, HIREDATE

FROM             EMP

WHERE          HIREDATE LIKE '%83';

Результат

Без ошибок

SELECT          ENAME,DEPTNO, HIREDATE

FROM             EMP

WHERE          HIREDATE >= '01-JAN-83'

AND                HIREDATE <= '31-DEC-83';

Результат

Без ошибок

SELECT          ENAME,DEPTNO, HIREDATE

FROM             EMP

WHERE          HIREDATE BETWEEN

                                    '01-JAN-83' AND '31-DEC-83';

Результат

Без ошибок

SELECT          ENAME, SAL* 12 ANNUAL_SAL, СОММ

FROM             EMP

WHERE          SAL > СОММ

AND                JOB = 'SALESMAN'

ORDER BY    SAL DESC, ENAME;

Результат

Server: Msg 207, Level 16, State 3, Line 110

Invalid column name 'СОММ'.

Server: Msg 207, Level 16, State 1, Line 110

Invalid column name 'СОММ'.

Дополнительное задание

SELECT          ENAME I I

                         ‘HAS HELD THE POSITION OF ' I I

                                 JOB I I

                        ' IN DEPT ' I I

                          DEPTNO I I

                        ' SINCE ' I I

                          HIREDATE "Who, what and when"

FROM             EMP;

Результат

Server: Msg 170, Level 15, State 1, Line 111

Line 111: Incorrect syntax near 'HAS HELD THE POSITION OF'.

Решения упражнений: урок 3

SELECT          ENAME, HIREDATE

FROM             EMP

WHERE          HIREDATE BETWEEN ' &FIRST_DATE '

                                              AND        ' &LAST_DATE ' ;

Результат

Без ошибок

SELECT          ENAME, HIREDATE

FROM             EMP

WHERE          HIREDATE BETWEEN '&&FIRST_DATE'

                                                 AND     '&&LAST_DATE ';

Результат

Без ошибок

SELECT          ENAME, JOB, SAL, MGR, DEPTNO

FROM             EMP

WHERE          JOB = '&JOB'

Результат

Без ошибок

Дополнительное упражнение:

DEFINE          ANNSAL= 'SAL*12+NVL(COMM,0)'

SELECT          ENAME, &ANNSAL

FROM             EMP

WHERE      &ANNSAL > 30000;

Результат

Server: Msg 170, Level 15, State 1, Line 110

Line 110: Incorrect syntax near 'DEFINE'.

Server: Msg 170, Level 15, State 1, Line 112

Line 112: Incorrect syntax near '&'.

Решения упражнений: урок 4

SELECT          DEPTNO, ENAME,

                        ROUND (SAL*1, 15)  PCTSAL

FROM             EMP ;

Результат

Без ошибок

SELECT          RPAD(ENAME, 10) | |

                        LPAD (JOB,   10)       EMPLOYEE_AND_JOB

FROM             EMP ;

Результат

Server: Msg 195, Level 15, State 10, Line 110

'RPAD' is not a recognized function name.

SELECT          ENAME | | ’ ( ‘ | |

                        INITCAP (JOB) | | ‘ ) ‘ | |   EMPLOYEE

FROM             EMP ;

Результат

Server: Msg 170, Level 15, State 1, Line 110

Line 110: Incorrect syntax near '|'.

SELECT          *

FROM             EMP

WHERE          UPPER(JOB) =UPPER('&JOB');

Enter value for JOB: clerk

Похожие материалы

Информация о работе