Решения упражнений: урок 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
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.