Aluno sem matricular no curso

Como faço um sql que: Tenho uma tabela de ALUNO contendo nele NOME_ALUNO e TIPO_ALUNO, tenho outra tabela onde tem o CURSO(CABEÇALHO) contendo O NOME_CURSO e PERÍODO_DOCURSO(DATA) e uma outra tabela ALUNOS_CURSOS contendo o ID_ALUNO

Preciso criar um SQL que vou ter os alunos que não estão cursando em um período específico.
ex.
JOÃO - CURSO XY - 31/01/2021
JOSÉ - CURSO XY - 31/01/2021
ANTÔNIO,

JOÃO E JOSÉ estão matriculados no curso XY e apenas o ANTÔNIO não está. Ou seja nesta neste sql preciso que apareça apenas quem não está matriculado!

Select aluno_nome from alunos where id_aluno not in (select id_aluno from alunos_cursos inner Join cursos on cursos.id_curso = cursos.id_curso) where periodo_curso between ‘2022-01-01’ and ‘2022-01-31’)

Fiz pelo celular mas a ideia é essa.

estou tentando aqui, mas tem um parentese sobrando ou faltando, está apresentando erro

É, fiz pelo celular mas passei a idéia.
Dou aula até às 22h, chegando em casa posso rever o código

obrigado amigo! Acabei de consertar! not in (select id_aluno from alunos_cursos inner Join cursos on cursos.id_curso = cursos.id_curso where periodo_curso between ‘2022-01-01’ and ‘2022-01-31’)

1 Curtida

Deu certo?

SIM, MUITO OBRIGADO! Deu certinho. Mais uma vez muito obrigado!

1 Curtida