praca-test-tasks/1.nodejs_js/readme.md
2023-03-12 01:55:57 +03:00

37 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Блок заданий "Задание, Java Script, Node JS:" (1)
1. Есть таблицы (PgSql, но диалект в данном случае не важен, пишите как на том который знаете):
```pgsql
CREATE TABLE public.departments (
id integer NOT NULL DEFAULT nextval('departments_id_seq'::regclass),
created_at timestamp without time zone,
updated_at timestamp without time zone,
file_id character varying(32) COLLATE pg_catalog."default",
CONSTRAINT departments_pkey PRIMARY KEY (id)
)
CREATE TABLE public.dep_names (
id integer NOT NULL DEFAULT nextval('dep_names_id_seq'::regclass),
name character varying(1024) COLLATE pg_catalog."default" NOT NULL,
department_id integer,
name_tsvector tsvector,
CONSTRAINT dep_names_pkey PRIMARY KEY (id)
)
# dep_names .department_id (многие) ссылается на departments.id (к одному)
```
Все запросы будут написаны на языке запросов SQL.
1.1. Запрос (SELECT) для построения списка departments.id, для которых нет связанных названий (строк в dep_names).
```sql
SELECT id
FROM departments
WHERE NOT EXISTS (
SELECT * FROM dep_names WHERE dep_names.department_id = departments.id
);
```
1.2. Запрос (SELECT) для построения списка departments.id, для которых есть 2 и более названий.
```sql
SELECT id
FROM departments
WHERE (
SELECT count(name_tsvector) FROM dep_names WHERE dep_names.id = departments.id AND dep_names.name_tsvector != NULL
) >= 2;
```