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;
|
FROM "EmployeesDepartments".JOB_GRADES;
|
||||||
```
|
```
|
||||||
|
|
||||||
Нет, не будет, так как для корректного выполнения данной команды, нужно добавить кавычки у `JOB_GRADES` (Рис. 1) или убрать кавычки у EmployeesDepartments (Рис. 2).
|
Нет, не будет, так как для корректного выполнения данной команды, нужно добавить кавычки у `JOB_GRADES` (Рис. 1).
|
||||||
|
|
||||||
#align(center)[
|
#align(center)[
|
||||||
#figure(
|
#figure(
|
||||||
@@ -87,14 +87,6 @@ FROM "EmployeesDepartments".JOB_GRADES;
|
|||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
|
||||||
#align(center)[
|
|
||||||
#figure(
|
|
||||||
image("assets/2.png"),
|
|
||||||
supplement: [Рис],
|
|
||||||
caption: []
|
|
||||||
)
|
|
||||||
]
|
|
||||||
|
|
||||||
===== 1.2 Команда SELECT содержит 4 ошибки. Укажите их.
|
===== 1.2 Команда SELECT содержит 4 ошибки. Укажите их.
|
||||||
|
|
||||||
```sql
|
```sql
|
||||||
@@ -103,8 +95,21 @@ SELECT "EMPLOYEE_ID", "LAST_NAME"
|
|||||||
FROM "EmployeesDepartments"."EMPLOYEES"
|
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.3 Напишите запрос, который отображает структуру таблицы `DEPARTMENTS`, представленную на таблице 1. Сформируйте запрос на выборку данных из нее, результат должен соответствовать таблице 2.
|
||||||
|
|
||||||
|
// таблица 1
|
||||||
#align(center)[
|
#align(center)[
|
||||||
#figure(
|
#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],
|
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)[
|
#align(center)[
|
||||||
#figure(
|
#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],
|
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.
|
===== 1.4 Напишите запрос, который отображает структуру таблицы `EMPLOYEES`, представленную в таблице 3.
|
||||||
|
|
||||||
#align(center)[
|
#align(center)[
|
||||||
|
|||||||
Reference in New Issue
Block a user