Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

SELECT job_id, department_id, 1 a_dummy

FROM employees

WHERE department_id = 10

UNION

SELECT job_id, department_id, 3 a_dummy

FROM employees

WHERE department_id = 20

UNION

SELECT job_id, department_id, 2 a_dummy

FROM employees

WHERE department_id = 50

ORDER BY 3;

(будет доп вопрос про SET и подзапрос!)

JOB_ID DEPARTMENT_ID

---------- ----------------------

AD_ASST 10

ST_CLERK 50

SH_CLERK 50

SH_CLERK 50

SH_CLERK 50

ST_MAN 50

ST_MAN 50

ST_MAN 50

ST_MAN 50

ST_MAN 50

ST_CLERK 50

48 rows selected

4.  Выведите номер сотрудника и идентификатор его должности, если его текущая должность совпадает с той, которую он уже занимал, работая в компании.

SELECT employee_id, job_id

FROM employees

INTERSECT

SELECT employee_id, job_id

FROM job_history;

EMPLOYEE_ID JOB_ID

----------- ----------

176 SA_REP

200 AD_ASST

5.  Напишите составной запрос, который выводит следующее:

    Номера и отделы всех сотрудников из таблицы EMPLOYEES, независимо от того, относятся ли они к какому-то отделу или нет; Номера и наименования всех отделов из таблицы DEPARTMENTS, независимо от того, есть ли в них сотрудники или нет.

SELECT employee_id, department_id, TO_CHAR (NULL) department_name

FROM employees

UNION

SELECT TO_NUMBER (NULL), department_id, department_name

FROM departments;

EMPLOYEE_ID DEPARTMENT_ID DEPARTMENT_NAME

----------- ------------- ------------------------------

100 90

101 90

102 90

103 60

104 60

Практическое занятие 8

11  Вставка строк в таблицы

НЕ нашли? Не то? Что вы ищете?

12  Обновление строк в таблице

13  Удаление строк из таблицы

14  Управление транзакциями

Вставка данных в таблицу.

1.  Выполните скрипт lab8_1.sql для создания таблицы MY_EMPLOYEE, которая будет использоваться для упражнений.

2.  Выведите структуру таблицы MY_EMPLOYEE для выяснения имён столбцов.

DESCRIBE my_employee

Name Null Type

---------- -------- ------------

ID NOT NULL NUMBER(4)

LAST_NAME VARCHAR2(25)

FIRST_NAME VARCHAR2(25)

USERID VARCHAR2(8)

SALARY NUMBER(9,2)

3.  Вставьте в таблицу MY_EMPLOYEE первую строку из нижеприведённых образцов. Не указывайте столбцы в предложении INSERT.

INSERT INTO my_employee

VALUES (1, 'Patel', 'Ralph', 'rpatel', 895);

1 rows inserted.

ID

LAST_NAME

FIRST_NAME

USERID

SALARY

1

Patel

Ralph

rpatel

895

2

Dancs

Betty

bdancs

860

3

Biri

Ben

bbiri

1100

4

Newman

Chad

cnewman

750

5

Ropeburn

Andrey

Aropebur

1550

4.  Вставьте в таблицу MY_EMPLOYEE вторую строку из вышеуказанных образцов. На этот раз укажите столбцы явно в предложении INSERT.

INSERT INTO my_employee(id, last_name, first_name, userid, salary)

VALUES (2, 'Dancs', 'Betty', 'bdancs', 860);

1 rows inserted.

5.  Убедитесь в том, что данные вставлены в таблицу.

SELECT *

FROM my_employee;

ID LAST_NAME FIRST_NAME USERID SALARY

---------- ------------------------- ------------------------- -------- ----------

1 Patel Ralph rpatel 895

2 Dancs Betty bdancs 860

6.  Создайте скрипт-файл loademp. sql для интерактивной загрузки строк в таблицу MY_EMPLOYEE. Выдайте приглашение пользователю ввести номер, фамилию имя и оклад служащего. Соедините первую букву имени с семью первыми буквами фамилии для получения идентификатора пользователя данного служащего.

SET VERIFY OFF

INSERT INTO my_employee(id, last_name, first_name, userid, salary)

VALUES ('&write_id', INITCAP ('&&write_last_name'), INITCAP ('&&write_first_name'),

LOWER(SUBSTR ('&write_first_name', 1, 1) || SUBSTR ('&write_last_name', 1, 7)),

'&write_salary');

UNDEFINE write_last_name

UNDEFINE write_first_name

1 rows inserted.

1 rows inserted.

7.  С помощью созданного скрипта вставьте в таблицу две следующие строки данных из приведённых образцов.

8.  Убедитесь в том, что строки вставлены в таблицу.

SELECT *

FROM my_employee;

ID LAST_NAME FIRST_NAME USERID SALARY

---------- ------------------------- ------------------------- -------- ----------

1 Patel Ralph rpatel 895

2 Dancs Betty bdancs 860

3 Biri Ben bbiri 1100

4 Newman Chad cnewman 750

9.  Сделайте изменения постоянными.

COMMIT;

committed.

Обновление и удаление данных из таблицы MY_EMPLOYEE.

10.  Смените фамилию служащего номер 3 на «Drexler».

UPDATE my_employee

SET last_name = 'Drexler'

WHERE id = 3;

1 rows updated.

11.  Сделайте оклад равным 1000 для всех служащих, имеющих оклад ниже 900.

UPDATE my_employee

SET salary = 1000

WHERE salary < 900;

3 rows updated.

12.  Проверьте изменения в таблице.

SELECT *

FROM my_employee;

ID LAST_NAME FIRST_NAME USERID SALARY

---------- ------------------------- ------------------------- -------- ----------

1 Patel Ralph rpatel 1000

2 Dancs Betty bdancs 1000

3 Drexler Ben bbiri 1100

4 Newman Chad cnewman 1000

13.  Удалите из таблицы MY_EMPLOYEE строку для служащей Betty Dancs.

DELETE my_employee

WHERE last_name = 'Dancs'

AND first_name = 'Betty';

1 rows deleted.

14.  Проверьте изменения в таблице.

SELECT *

FROM my_employee;

ID LAST_NAME FIRST_NAME USERID SALARY

---------- ------------------------- ------------------------- -------- ----------

1 Patel Ralph rpatel 1000

3 Drexler Ben bbiri 1100

4 Newman Chad cnewman 1000

15.  Зафиксируйте все незафиксированные изменения.

COMMIT;

committed.

Управление данными при помощи транзакций

16.  Вставьте в таблицу последнюю строку из образца данных путём выполнения скрипта, созданного в пункте 6.

1 rows inserted.

17.  Проверьте изменения в таблице.

SELECT *

FROM my_employee;

ID LAST_NAME FIRST_NAME USERID SALARY

---------- ------------------------- ------------------------- -------- ----------

1 Patel Ralph rpatel 1000

3 Drexler Ben bbiri 1100

4 Newman Chad cnewman 1000

5 Ropeburn Audrey aropebur 1550

18.  Создайте точку сохранения в ходе транзакции.

SAVEPOINT A;

19.  Удалите все данные из таблицы.

DELETE FROM my_employee;

4 rows deleted.

20.  Убедитесь в том, что таблица пуста.

SELECT *

FROM my_employee;

no rows selected

21.  Отмените последнюю операцию DELETE, не отменяя предыдущую операцию INSERT.

ROLLBACK to SAVEPOINT A;

rollback complete.

22.  Убедитесь в том, что вставленная строка присутствует в таблице.

SELECT *

FROM my_employee;

ID LAST_NAME FIRST_NAME USERID SALARY

---------- ------------------------- ------------------------- -------- ----------

1 Patel Ralph rpatel 1000

3 Drexler Ben bbiri 1100

4 Newman Chad cnewman 1000

5 Ropeburn Audrey aropebur 1550

23.  Сделайте добавление данных постоянным.

COMMIT;

committed.

Практическое занятие 9

15  Создание новых таблиц

16  Создание новой таблицы с помощью синтаксиса CREATE TABLE AS

17  Проверка существования таблицы

18  Удаление таблиц

1.  Создайте таблицу DEPT на основе приведенного ниже описания. Сохраните команду в файле lab9_1.sql, а затем выполните файл для создания таблицы. Убедитесь в том, что таблица создана.

CREATE TABLE DEPT

(id number(7),

name varchar2(25));

Имя столбца

ID

Name

Тип ключа

Nulls/Unique

Таблица FK

Столбец FK

Тип данных

NUMBER

VARCHAR2

Длина

7

25

2.  Заполните таблицу DEPT данными из таблицы Departments. Включите только нужные столбцы.

INSERT INTO dept

SELECT department_id, department_name

FROM departments;

SELECT *

FROM dept;

ID NAME

---------- -------------------------

10 Administration

20 Marketing

30 Purchasing

40 Human Resources

50 Shipping

60 IT

70 Public Relations

80 Sales

27 rows selected

3.  Создайте таблицу EMP на основе приведенного ниже описания. Сохраните команду в скрипт-файле lab9_3.sql, а затем выполните его, чтобы создать таблицу. Убедитесь в том, что таблица создана.

CREATE TABLE emp

(id NUMBER(7),

last_name VARCHAR2(25),

first_name VARCHAR2(25),

dept_id NUMBER(7));

table EMP created.

DESCRIBE emp

Name Null Type

---------- ---- ------------

ID NUMBER(7)

LAST_NAME VARCHAR2(25)

FIRST_NAME VARCHAR2(25)

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10