Este é o banco:
DROP DATABASE IF EXISTS escola;
CREATE DATABASE IF NOT EXISTS escola;
USE escola;
CREATE TABLE alunos
(
prontuario int(3) NOT NULL PRIMARY KEY,
nome_aluno varchar(30) NOT NULL,
endereco varchar(20) NOT NULL
);
CREATE TABLE professor
(
cod_prof int(2) NOT NULL PRIMARY KEY,
nome_prof varchar(30) NOT NULL
);
CREATE TABLE disciplina
(
nro_disc int(3) NOT NULL PRIMARY KEY,
nome_disc varchar(20) NOT NULL,
credito int(3) NOT NULL
);
CREATE TABLE turma
(
cod_turma varchar(1) NOT NULL PRIMARY KEY,
nro_disc int(3) NOT NULL,
cod_prof int(2) NOT NULL,
FOREIGN KEY (nro_disc) REFERENCES disciplina(nro_disc),
FOREIGN KEY (cod_prof) REFERENCES professor(cod_prof)
);
CREATE TABLE classe
(
nro_disc int(3) NOT NULL,
cod_turma varchar(1) NOT NULL,
prontuario int(3) NOT NULL,
FOREIGN KEY (cod_turma) REFERENCES turma(cod_turma),
FOREIGN KEY (prontuario) REFERENCES alunos(prontuario)
);
INSERT INTO alunos VALUES
('100','Joao','Rua 10'),
('200','Jose','Rua 20'),
('300','Maria','Rua 30'),
('500','Antonio','Rua 50');
INSERT INTO professor VALUES
('10','Carlos'),
('20','Luiz'),
('30','Marcos'),
('50','Paulo');
INSERT INTO disciplina VALUES
('100','C','04'),
('300','PASCAL','02'),
('500','Banco de Dados','04'),
('800','Redes','06');
INSERT INTO turma VALUES
('A','100','10'),
('B','100','20'),
('A','300','30'),
('B','300','30'),
('A','500','10'),
('A','800','10'),
('B','800','20');
INSERT INTO classe VALUES
('100','A','100'),
('100','A','200'),
('100','B','300'),
('100','B','500'),
('300','A','100'),
('300','A','300'),
('500','A','100'),
('500','A','200'),
('500','A','300'),
('500','A','500'),
('800','A','200'),
('800','A','300');
O operador relacional SELECT seleciona dados de um banco de dados baseado em condições estabelecidas por comandos FROM e WHERE. O comando FROM indica de qual (ou quais) tabela os dados e/ou condições serão obtidos. Já o comando WHERE indica a (ou as) condição desejada para tal seleção. Se quisermos selecionar todos os dados de uma determinada tabela obedecendo uma determinada condição, devemos escrever:
SELECT *
FROM tabela
WHERE condição;
Esse é o nosso caso. Vamos aplicar ao nosso banco de dados:
SELECT disciplina.*
FROM disciplina, professor, turma
WHERE professor.nome_prof = "Luiz"
AND turma.nro_disc = disciplina.nro_disc
AND turma.cod_prof = professor.cod_prof;
É importante notar que a identação não é exigida, serve apenas para visualizarmos melhor o comando.
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar