#236 Employee Count by Company Department

Companies:
Sberbank
Themes:
SQLJoinsAggregationPractice

Display the company name, department name, and number of employees in the department:

CREATE TABLE IF NOT EXISTS company (
   id uuid PRIMARY KEY,
   name_ varchar NOT NULL
);

CREATE TABLE IF NOT EXISTS department (
    id uuid PRIMARY KEY,
    name_ varchar NOT NULL,
    company_id uuid NOT NULL,
    CONSTRAINT department_fk FOREIGN KEY (company_id) REFERENCES company(id)
);

CREATE TABLE IF NOT EXISTS employee (
    id uuid PRIMARY KEY,
    name_ varchar NOT NULL,
    department_id uuid NOT NULL,
    CONSTRAINT employee_fk FOREIGN KEY (department_id) REFERENCES department(id)
);

INSERT INTO company (id, name_) VALUES (1, 'Company 1') ON CONFLICT DO NOTHING;
INSERT INTO company (id, name_) VALUES (2, 'Company 2') ON CONFLICT DO NOTHING;
INSERT INTO company (id, name_) VALUES (3, 'Company 3') ON CONFLICT DO NOTHING;

INSERT INTO department (id, name_, company_id) VALUES (1, 'Department 1', 1) ON CONFLICT DO NOTHING;
INSERT INTO department (id, name_, company_id) VALUES (2, 'Department 2', 1) ON CONFLICT DO NOTHING;
INSERT INTO department (id, name_, company_id) VALUES (3, 'Department 3', 2) ON CONFLICT DO NOTHING;

INSERT INTO employee (id, name_, department_id) VALUES (1, 'Employee 1', 1) ON CONFLICT DO NOTHING;
INSERT INTO employee (id, name_, department_id) VALUES (2, 'Employee 2', 1) ON CONFLICT DO NOTHING;
INSERT INTO employee (id, name_, department_id) VALUES (3, 'Employee 3', 3) ON CONFLICT DO NOTHING;

Question review

Mentor
Answer as you would in a real interview. I’ll ask follow-up questions, then compare your answer with the reference answer and show your accuracy as a %.
Sign in to start the dialogue The mentor keeps the context of the current question and your previous messages.
Sign in