-- Selecionar e mostrar todos os dados da tabela alunos
SELECT * FROM alunos;
SELECT * FROM salas;
INSERT INTO professores (nome, disciplina, salario)
VALUES ('Carlos Souza', 'Matemática', 3500.50);
INSERT INTO professores (nome, disciplina, salario)
VALUES ('Fernanda Lima', 'História', 3200.00);
INSERT INTO professores (nome, disciplina, salario)
VALUES ('Roberto Mendes', 'Geografia', 3700.75);
SELECT * FROM professores;
Estrutura do comando ALTER TABLE para adicionar uma chave estrangeira: ALTER TABLE tabela_filha ADD CONSTRAINT nome_da_chave_estrangeira FOREIGN KEY (coluna_filha) REFERENCES tabela_pai(coluna_pai);
INSERT INTO alunos (nome, idade, turma, professor_id)
VALUES ('Pedro Gomes', 14, '8A', 1); -- O professor com id 1 é Carlos Souza
INSERT INTO alunos (nome, idade, turma, professor_id)
VALUES ('Carla Nunes', 13, '7B', 2); -- O professor com id 2 é Fernanda Lima
Exemplo: INNER JOIN entre alunos e professores
Queremos exibir os nomes dos alunos, suas idades, suas turmas e o nome do professor orientador.
SELECT alunos.nome AS aluno_nome, alunos.idade, alunos.turma, professores.nome AS
professor_nome FROM alunos INNER JOIN professores ON alunos.professor_id = professores.id; EXEMPLO COMPLETO:
-- Criar o banco de dados e as tabelas
CREATE DATABASE escola; USE escola;
CREATE TABLE professores (
id INT AUTO_INCREMENT PRIMARY KEY, nome VARCHAR(100), disciplina VARCHAR(50), salario DECIMAL(10, 2) );
CREATE TABLE alunos (
id INT AUTO_INCREMENT PRIMARY KEY, nome VARCHAR(100), idade INT, turma VARCHAR(50), professor_id INT, FOREIGN KEY (professor_id) REFERENCES professores(id) );
INSERT INTO alunos (nome, idade, turma, professor_id)
VALUES ('Carla Nunes', 13, '7B', 2);
-- Buscar e mostrar dados de alunos junto com seus professores
SELECT alunos.nome AS aluno_nome, alunos.idade, alunos.turma, professores.nome AS professor_nome FROM alunos INNER JOIN professores ON alunos.professor_id = professores.id;