upd
This commit is contained in:
BIN
labs/lab2/assets/1.png
Normal file
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
BIN
labs/lab2/assets/2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 360 KiB |
Binary file not shown.
@@ -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)[
|
||||
|
||||
Reference in New Issue
Block a user