Buscar

Sou iniciante... Como realizar uma consulta SQL que pede para encontrar as disciplinas ministradas pelo professor Luiz com álgebra relacional

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');

💡 2 Respostas

User badge image

Gideão Morais

Toda consulta em banco de Dados é feita com um (Select)

1
Dislike0
User badge image

RD Resoluções

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.

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais