Olá,
Estou com a seguinte dificuldade:
Tenho duas tabelas de banco de dados no padrão SQL.
aluno
cod_aluno
nome
telefone
email
relevento
cod_relevento
cod_aluno
cod_evento
A tabela aluno armazena as informações do aluno, e a tabela relevendo relaciona o aluno(cod_aluno) com algum evento(cod_evento) que esta armazenada em outra tabela.
Minha dúvida é como fazer uma consulta para localizar todos os alunos que não possuem código cadastrado na tabela relevendo.
A consulta que verifica o aluno que tem codigo cadastrado na tabela relevendo eu fiz de boa.
SELECT al.nome FROM aluno al, relevendo rl WHERE al.cod_aluno=rl.cod_aluno
Grato!
- Home
- >
- Fórum
- >
- Profissional
- >
- Programação, Sc...
- >
- Consulta SQL
Um jeito fácil:
SELECT * FROM aluno WHERE cod_alun NOT IN (SELECT cod_aluno FROM relevento)
Espero que o código seja autoexplicativo.
Melhore o futuro do fórum: Diga se a dica funcionou ou conte-nos como conseguiu resolver a sua dúvida!
Se eu errar ou for pouco claro, reclame! Quando possivel eu tentarei melhorar.
Ótimo Jofrelscalvet, isso mesmo que estava procurando... e bem fácil de entender...
Obrigado!
de uma olhada neste post aqui tb!!!
https://www.hardware.com.br/comunidade/diferencas-left/788932/
arkRed">Desenvolvedor Web - PHP
Site Pessoal
Twitter
Facebook
Linkedin
Acho que assim teria melhor 'performance'
SELECT * FROM aluno WHERE cod_alun NOT IN (SELECT DIST cod_aluno FROM relevento)
NOVO BLOG:
http://pacman.blog.br/
peczenyj disse: Acho que assim teria melhor 'performance'
SELECT * FROM aluno WHERE cod_alun NOT IN (SELECT DIST cod_aluno FROM relevento)
naum tenho certeza pois são 2 consultas e naum só uma!!!!
e usando left, inner ou right fika em uma única consulta...só q naum sou especialista para te dizer!
arkRed">Desenvolvedor Web - PHP
Site Pessoal
Twitter
Facebook
Linkedin
Usando Joins:
Select aluno.*
from aluno
LEFT JOIN relevento
ON aluno.cod_aluno=relevento.cod_aluno
where
relevento.cod_aluno IS NULL
Linux User #452261
Keep
It
Simple,
Stupid