This commit is contained in:
nik
2025-10-22 19:18:40 +03:00
parent 6f95af6b8e
commit 8c8b08e17a
4 changed files with 39 additions and 9 deletions

BIN
labs/lab2/assets/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 KiB

BIN
labs/lab2/assets/2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 KiB

Binary file not shown.

View File

@@ -77,7 +77,7 @@ SELECT *
FROM "EmployeesDepartments".JOB_GRADES;
```
Нет, не будет, так как для корректного выполнения данной команды, нужно добавить кавычки у `JOB_GRADES` (Рис. 1) или убрать кавычки у EmployeesDepartments (Рис. 2).
Нет, не будет, так как для корректного выполнения данной команды, нужно добавить кавычки у `JOB_GRADES` (Рис. 1).
#align(center)[
#figure(
@@ -87,14 +87,6 @@ FROM "EmployeesDepartments".JOB_GRADES;
)
]
#align(center)[
#figure(
image("assets/2.png"),
supplement: [Рис],
caption: []
)
]
===== 1.2 Команда SELECT содержит 4 ошибки. Укажите их.
```sql
@@ -103,8 +95,21 @@ SELECT "EMPLOYEE_ID", "LAST_NAME"
FROM "EmployeesDepartments"."EMPLOYEES"
```
- Нет запятой перед `"SAL"`.
- Использовать `*` вместо `x`.
- Неправильно задан псевдоним: нужен `AS` и, раз в псевдониме пробел, кавычки (например `AS "ANNUAL SALARY"`).
- Неправильное название стобца: вместо `SAL` должно быть `SALARY`.
Исправленная версия:
```sql
SELECT "EMPLOYEE_ID", "LAST_NAME", "SALARY" * 12 AS "ANNUAL SALARY"
FROM "EmployeesDepartments"."EMPLOYEES";
```
===== 1.3 Напишите запрос, который отображает структуру таблицы `DEPARTMENTS`, представленную на таблице 1. Сформируйте запрос на выборку данных из нее, результат должен соответствовать таблице 2.
// таблица 1
#align(center)[
#figure(
table(columns: 3)[*column_name*][*is_nullable*][*Type*][DEPARTMENT_ID][NO][smallint][DEPARTMENT_NAME][NO][character varying][MANAGER_ID][YES][integer][LOCATION_ID][YES][smallint],
@@ -113,6 +118,25 @@ FROM "EmployeesDepartments"."EMPLOYEES"
)
]
```sql
SELECT column_name,
CASE WHEN is_nullable = 'YES' THEN 'YES' ELSE 'NO' END AS is_nullable,
data_type
FROM information_schema.columns
WHERE table_name = 'DEPARTMENTS'
AND table_schema IN ('EmployeesDepartments', 'public')
ORDER BY ordinal_position;
```
#align(center)[
#figure(
image("assets/2.png"),
caption: [Результат выполнения скрипта.],
supplement: [Рис]
)
]
// таблица 2
#align(center)[
#figure(
table(columns: 4)[*DEPARTMENT_ID*][*DEPARTMENT_NAME*][*MANAGER_ID*][*LOCATION_ID*][10][Administration][200][1700][20][Marketing][201][1800][50][Shipping][124][1500][60][IT][103][1400][80][Sales - Europe][149][2500][85][Sales - Americas][149][2100][90][Executive][100][1700][110][Accounting][205][1700][190][Contracting][][1700],
@@ -121,6 +145,12 @@ FROM "EmployeesDepartments"."EMPLOYEES"
)
]
```sql
SELECT "DEPARTMENT_ID", "DEPARTMENT_NAME", "MANAGER_ID", "LOCATION_ID"
FROM "EmployeesDepartments"."DEPARTMENTS"
ORDER BY "DEPARTMENT_ID";
```
===== 1.4 Напишите запрос, который отображает структуру таблицы `EMPLOYEES`, представленную в таблице 3.
#align(center)[