Criar Tabelas e Inserir Dados
Neste primeiro passo, você criará duas tabelas, departments e employees, e inserirá alguns dados de exemplo nelas. Isso fornecerá os dados necessários para praticar o uso de subconsultas nos passos seguintes.
Primeiro, abra seu terminal na VM do LabEx. Seu caminho padrão é /home/labex/project.
Para começar, conecte-se a um banco de dados SQLite chamado company.db. Se o banco de dados não existir, o SQLite o criará para você. Execute o seguinte comando:
sqlite3 company.db
Este comando abre a ferramenta de linha de comando do SQLite e se conecta ao banco de dados company.db. Você verá o prompt sqlite>.
Agora, crie a tabela departments com o seguinte comando SQL:
CREATE TABLE departments (
department_id INTEGER PRIMARY KEY,
department_name TEXT,
location TEXT
);
Este comando cria uma tabela chamada departments com três colunas: department_id, department_name e location. A coluna department_id é a chave primária para esta tabela.
Em seguida, insira alguns dados de exemplo na tabela departments:
INSERT INTO departments (department_name, location) VALUES
('Sales', 'New York'),
('Marketing', 'Los Angeles'),
('Engineering', 'San Francisco');
Este comando insere três linhas na tabela departments, representando três departamentos diferentes e suas localizações.
Agora, crie a tabela employees com o seguinte comando SQL:
CREATE TABLE employees (
employee_id INTEGER PRIMARY KEY,
employee_name TEXT,
department_id INTEGER,
FOREIGN KEY (department_id) REFERENCES departments(department_id)
);
Este comando cria uma tabela chamada employees com três colunas: employee_id, employee_name e department_id. A coluna department_id é uma chave estrangeira (foreign key) que referencia a coluna department_id na tabela departments.
Finalmente, insira alguns dados de exemplo na tabela employees:
INSERT INTO employees (employee_name, department_id) VALUES
('Alice', 1),
('Bob', 2),
('Charlie', 1),
('David', 3);
Este comando insere quatro linhas na tabela employees, representando quatro funcionários diferentes e seus IDs de departamento.